当前位置: 首页 > news >正文

自贡北京网站建设源码商城网站源码

自贡北京网站建设,源码商城网站源码,wordpress 插件 文本,网页制作专业要求#x1f90d; 前端开发工程师#xff08;主业#xff09;、技术博主#xff08;副业#xff09;、已过CET6 #x1f368; 阿珊和她的猫_CSDN个人主页 #x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 #x1f35a; 蓝桥云课签约作者、已在蓝桥云… 前端开发工程师主业、技术博主副业、已过CET6 阿珊和她的猫_CSDN个人主页 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》 文章目录 一、引言介绍 call 和 apply 的概念为什么需要 call 和 apply 二、 call 和 apply 的语法和参数call 和 apply 的语法和参数 三、 call 和 apply 的区别调用方式的区别参数传递的区别 四、使用 call 和 apply 的场景 一、引言 介绍 call 和 apply 的概念 call和apply是JavaScript中的两个方法它们都可以用来调用函数并改变函数内部的this指向。 call的语法为函数名.call(obj,参数1,参数2,参数3……)它将函数作为一个方法绑定到指定对象上进行调用并且将函数内部的this设置为指定的对象。 apply的语法为函数名.apply(obj,[参数1,参数2,参数3……])它与call类似但区别在于它将所有参数写在数组里面。 这两个方法的本质都是通过改变对象的内部指针将特定函数作为一个方法绑定到指定对象上并进行调用。在某些情况下函数可能需要在特定的对象上调用而不是在全局上下文中调用使用call或apply方法可以将函数绑定到特定的对象上以便在调用时能够正确地访问对象的属性和方法。 为什么需要 call 和 apply 在 JavaScript 中call和apply的作用都是在函数调用时改变函数的执行上下文也就是函数内部的this。它们的使用场景如下 在函数作为对象方法的情况下this会指向对象。如果需要在调用函数时改变this的指向可以使用call或apply方法。在某些情况下函数可能需要在特定的对象上调用而不是在全局上下文中调用。使用call或apply方法可以将函数绑定到特定的对象上以便在调用时能够正确地访问对象的属性和方法。 总之call和apply方法可以帮助我们在函数调用时根据需要改变函数的执行环境从而实现更加灵活和可定制的代码。 二、 call 和 apply 的语法和参数 call 和 apply 的语法和参数 call和apply的语法和参数具体如下 call方法 语法call((thisObj(,arg1(, arg2(, (,.argN)))))说明 第一个参数是表示要绑定的对象如果调用时不传参比如call()、call(null)、call(undefined)那么this都指向window对象。传递另一个函数的函数名那么函数中的this指向这个函数的引用。传递字符串、数值或布尔类型等基础类型那么函数中的this指向其对应的包装对象如String、Number、Boolean。传递一个对象那么函数中的this指向这个对象。 apply方法 语法apply((thisObj(,argArray)))说明 如果argArray不是一个有效的数组或者不是arguments对象那么将导致一个TypeError。如果没有提供argArray和thisObj任何一个参数那么Global对象将被用作thisObj并且无法传递任何参数。 call和apply的作用都是在函数调用时改变函数的执行上下文也就是函数内部的this。它们的使用场景如下 在函数作为对象方法的情况下this会指向对象。如果需要在调用函数时改变this的指向可以使用call或apply方法。在某些情况下函数可能需要在特定的对象上调用而不是在全局上下文中调用。使用call或apply方法可以将函数绑定到特定的对象上以便在调用时能够正确地访问对象的属性和方法。 三、 call 和 apply 的区别 调用方式的区别 call和apply的主要区别在于调用方式不同 call方法的语法为函数名.call(obj,参数1,参数2,参数3……)其中各个参数用逗号分隔。apply方法的语法为函数名.apply(obj,(参数1,参数2,参数3……))其中所有参数写在数组中。 尽管call和apply的作用相同但它们的使用方式略有不同。在实际应用中可以根据具体需求选择使用哪种方法来调用函数。 参数传递的区别 call和apply在参数传递方面也存在一些区别 call方法可以传递任意数量的参数参数之间用逗号分隔。apply方法需要将参数传递给一个数组数组中的元素就是要传递的参数。 下面是一个示例展示了如何使用call和apply方法以及它们之间的区别 function sum(num1, num2) {return num1 num2; }// 使用 call 方法 var result1 sum.call(null, 10, 20); console.log(result1); // 使用 apply 方法 var result2 sum.apply(null, [10, 20]); console.log(result2); 在上述示例中定义了一个sum函数它接收两个参数并返回它们的和。通过调用sum.call(null, 10, 20)将null作为this值并传递了两个参数10和20给sum函数。通过调用sum.apply(null, [10, 20])同样将null作为this值并将一个包含参数10和20的数组传递给sum函数。 尽管call和apply的作用相同但它们的使用方式略有不同。在实际应用中可以根据具体需求选择使用哪种方法来调用函数。 四、使用 call 和 apply 的场景 call和apply方法主要用于改变对象的上下文在以下场景中比较常见 改变对象的上下文可以使用call或apply方法将函数作为另一个对象的方法进行调用从而改变函数内部this的值。 var obj1 {name: John,sayHello: function() {console.log(Hello, this.name);} };var obj2 {name: Alice };obj1.sayHello.call(obj2); 在上面的示例中有两个对象obj1和obj2obj1有一个名为sayHello的方法。通过使用call方法将obj2作为this值传递给sayHello方法输出结果将会是Hello, Alice。 实现继承可以使用call或apply方法来模拟继承。 function Parent() {this.name parent; }Parent.prototype.sayGoodbye function() {console.log(Goodbye, this.name); }function Child() {// 调用父类构造函数实现属性继承Parent.call(this); this.type child; }// 子类的原型指向父类的实例实现方法继承 Child.prototype Object.create(Parent.prototype); // 修复构造函数指向问题确保子类的构造函数指向自己 Child.prototype.constructor Child; var child new Child(); child.sayGoodbye(); 在上面的示例中创建了一个父类Parent和一个子类Child。通过使用call方法在子类的构造函数中调用父类的构造函数实现属性继承。然后通过设置子类的原型指向父类的实例实现方法继承。最后创建子类的实例并调用sayGoodbye方法。 除了上述常见场景外call和apply方法还可以用于其他一些情况例如在某些框架中进行事件绑定、延迟执行等。具体使用场景取决于具体的需求和代码结构。
http://www.w-s-a.com/news/115155/

相关文章:

  • 衡阳网站页面设计公司绍兴网站设计
  • 青岛手机建站多少钱做图表的网站 免费
  • 如何去建立和设计一个公司网站开封建设教育协会网站
  • 南充市住房和城乡建设局考试网站wordpress 下载模板站
  • 有没有单纯做旅游攻略的网站保定建站方案
  • 2017网站建设报价方案2022年企业所得税税率表一览
  • 可以做婚礼视频的网站有哪些工程公司管理制度
  • 做农产品网站需要做的准备中文手机网站设计案例
  • 福州做网站软件seo搜索优化专员招聘
  • 建站技术博客wordpress响应时间
  • 农业网站模板WordPress安徽省建设工程造价管理协会网站
  • 网站后台策划书破解版手游app平台
  • 宿迁网站建设介绍公司wordpress 文章 分类 页面
  • 建设通同类网站网站设计公司种类
  • 台州专业做网站网站可以个人做吗
  • 个人logo在线生成免费乐陵德州seo公司
  • 网站回答问题app怎么做专业定制网红柴火灶
  • 网站做的最好的公司行业网址大全
  • 内网怎么做网站服务器seo统计
  • 丽水市企业网站建设 微信营销 影视拍摄计算机专业吃香吗
  • 龙岗做网站公司哪家好找到做网站的公司
  • 网站图片alt属性wordpress 自定义栏目 调用
  • 怎样建网站最快广州网站建设工程
  • iis7 网站404错误信息12306网站很难做吗
  • 网站建设600元包公司设计图片大全
  • 网站建设费用怎么做分录做校园网站代码
  • 网站改版做重定向福州网站建设思企
  • 网站建设全流程企业形象网站开发业务范畴
  • wordpress无法查看站点西安优秀高端网站建设服务商
  • 固始网站制作熟悉免费的网络营销方式