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

青海省建设厅网站备案资料网站制作费用一览表

青海省建设厅网站备案资料,网站制作费用一览表,canva可画ppt模板,二维码生成器在线制作免费call、apply 和 bind 是 JavaScript 中用于改变函数执行时 this 指向的方法。 1. call 方法 call 方法允许你调用一个函数,并显式地指定函数内部的 this 值,同时可以传递参数。 语法: JavaScript复制 function.call(thisArg, arg1, arg2…

callapply bind  是 JavaScript 中用于改变函数执行时 this 指向的方法。


1. call 方法

call 方法允许你调用一个函数,并显式地指定函数内部的 this 值,同时可以传递参数。

语法:

JavaScript复制

function.call(thisArg, arg1, arg2, ...);
  • thisArg:函数内部的 this 值。

  • arg1, arg2, ...:传递给函数的参数。

示例:

function greet(...message) {
  console.log(`${message}, my name is ${this.name}`);
}

const person = { name: "Alice" };

greet.call(person, "Hello","hi","嘻嘻"); // 输出: Hello,hi,嘻嘻, my name is Alice


2. apply 方法

apply 方法与 call 类似,也用于调用一个函数并显式地指定函数内部的 this 值,但它的参数是以数组的形式传递的。

语法:

JavaScript复制

function.apply(thisArg, [argsArray]);
  • thisArg:函数内部的 this 值。

  • [argsArray]:一个数组,包含要传递给函数的参数。

示例:

function greet(...message) {
  console.log(`${message}, my name is ${this.name}`);
}

const person = { name: "Alice" };

greet.apply(person, ["Hello","hi","嘻嘻"]); // 输出: Hello,hi,嘻嘻, my name is Alice

3. bind 方法

bind 方法用于创建一个新的函数,并将该函数的 this 值永久绑定到指定的对象上。与 callapply 不同,bind 不会立即调用函数,而是返回一个新的函数。

语法:

const newFunction = function.bind(thisArg, arg1, arg2, ...);
  • thisArg:绑定到新函数的 this 值。

  • arg1, arg2, ...:预绑定的参数(可选)。

示例:

function greet(...message) {
  console.log(`${message}, my name is ${this.name}`);
}

const person = { name: "Alice" };

const greetAlice = greet.bind(person, "Hello","hi");
greetAlice("嘻嘻"); // 输出: Hello,hi,嘻嘻, my name is Alice


相同点

  1. 目的相同callapplybind 都用于改变函数执行时的上下文(this 值)。

  2. 参数传递:都可以传递参数给目标函数(callapply 是直接调用,bind 是预绑定)。

  3. 用途广泛:都可以用于继承、函数借用、模拟私有方法等场景。


不同点

  1. 调用方式

    • call直接调用函数,参数逐个传递

    • apply直接调用函数,参数以数组形式传递。

    • bind:返回一个新的函数,this 值和参数被预绑定,需要手动调用。

  2. 是否立即执行

    • callapply立即调用目标函数。

    • bind返回一个新的函数,不会立即执行。

  3. 参数传递方式

    • call参数逐个传递。

    • apply参数以数组形式传递。

    • bind预绑定参数,后续调用时可以补充参数。

  4. 应用场景

    • callapply通常用于立即调用函数并改变上下文。

    • bind:用于创建一个上下文固定的函数,常用于事件处理、回调函数等场景。


总结

  • callapply:都用于立即调用函数并改变上下文,区别在于参数传递方式(call 是逐个传递,apply 是数组传递)。

  • bind:返回一个新的函数,this 值和参数被预绑定,适合需要延迟调用的场景

  • 选择方法:根据是否需要立即调用以及参数传递方式来选择 callapplybind

这些方法在 JavaScript 中非常强大,可以帮助你更好地控制函数的上下文和参数传递。

http://www.dtcms.com/a/443744.html

相关文章:

  • 武安市城乡建设局网站搜狐一开始把网站当做什么来做
  • 网站安全 维护网络工程师怎么考
  • 网站开发目录规范百度的竞价排名是哪种方式
  • 创新的企业网站制作哪家做网站最好
  • 主流网站编程语言查域名服务商
  • 创建一个网站需要什么条件网站建设添加汉语
  • 中国网站排名网企业网站建设排名资讯
  • 东昌府区住房和城乡建设局网站保定seo外包服务商
  • 做医院网站公司吗推广普通话奋进新征程ppt
  • 鹤壁集团网站建设网页设计与网站建设选择题
  • 培训网站推广绍兴网络公司网站建设
  • 7-2-查询练习
  • [光学原理与应用-485]:《皮秒紫外激光光源接口协议标准》草案
  • 长春市做网站的公司专业房产网站建设公司排名
  • 建设行业信息和技术应用服务网站企业网站优化应该怎么做
  • 找人做的网站怎么运行崇明苏州网站建设
  • POI操作Docx的踩坑指南(一)
  • 建网站免费域名做网站如何适应分辨率
  • 公司网站推广方法DZ做的网站
  • 做地方门户网站的排名佛山知名网站建设公司
  • 深入浅出kafka:kafka演进以及核心功能介绍
  • 360网站安全检测网站维护服务合同
  • 某公司网站源码体验营销案例
  • 怎样在外国网站开发客户昆明网站建设网站建设
  • 请人做网站后台密码公共信息服务平台
  • 网站开发都是用什么做的网站排名推广的优点是什么
  • 软件网站模板个人主页网页设计模板免费
  • godaddy如何创建网站百度搜图片功能
  • 企业做网站天津网站设计与建设实验报告
  • C4D R20新增功能体积对象之雾类型深度解析与应用实践