深圳做营销网站制作湖北移动官网网站建设
深圳做营销网站制作,湖北移动官网网站建设,青岛网站seo服务,网站模块划分规划目录 1、call
2、apply
3、bind
4、三者异同 1、call
call 函数调用 #xff1a;1、让函数执行 2、改变函数this指向
参数#xff1a; 第一个参数是this指 向#xff0c;第二个参数开始传递给函数的实参
函数名.call#xff08;this指…目录 1、call
2、apply
3、bind
4、三者异同 1、call
call 函数调用 1、让函数执行 2、改变函数this指向
参数 第一个参数是this指 向第二个参数开始传递给函数的实参
函数名.callthis指向参数参数 . . . console.log(Object.prototype.toString()) // [object Object]console.log(Object.prototype.toString.call(123)) // [object Number]console.log(Object.prototype.toString.call([])) // [object Array]
2、apply apply 函数调用 1、让函数执行 2、改变函数this指向
参数第一个参数是this指向第二个参数是一个数组数组里放的是传递给函数的实参
console.log(0bject.prototype.toString()) // [object 0bject]
console.log(0bject.prototype.toString.apply(123))//[object Number]
console.log(0bject.prototype.toString.apply([])) / / [object Array]3、bind
bind函数作用 改变函数this指向 参数第一个参数是this指向第二个参数开始就是实际的参数 bind返回值一个新函数(改变this指向之后的函数)不会立即调用 let obj { name: longge, year: 12 }function fn(x, y) {console.log(this)return x y}fn(1, 3)const res fn.bind(obj, 1)const r res(5)console.log(r)
4、三者异同 相同点 call applybind都可以改变this指向让函数执行 接收的第一个参数都是this要指向的对象 都可以利用后续的参数传参
不同点 call和apply对函数都是立即调用的而bind不会立即调用函数bind返回的是改变this指向之后的函数 call的参数是用逗号隔开的apply是接收数组作为参数
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90065.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!