浅谈javascript中的call、apply、bind

浅谈javascript中的call、apply、bind

ID:30517353

大小:19.52 KB

页数:10页

时间:2018-12-31

浅谈javascript中的call、apply、bind_第1页
浅谈javascript中的call、apply、bind_第2页
浅谈javascript中的call、apply、bind_第3页
浅谈javascript中的call、apply、bind_第4页
浅谈javascript中的call、apply、bind_第5页
资源描述:

《浅谈javascript中的call、apply、bind》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解浅谈javascript中的call、apply、bind  这篇文章主要为大家详细介绍了javascript中的call、apply、bind方法,感兴趣的朋友可以参考一下  在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向,从而可以达到`接花移木`的效果。本文将对这三个方法进行详细的讲解,并列出几个

2、经典应用场景。   call(thisArgs[,args...])  该方法可以传递一个thisArgs参数和一个参数列表,thisArgs指定了函数在运行期的调用者,也就是函数中的this对象,而参数列表会被传入调用函数中。thisArgs的取值有以下4种情况:  (1)不传,或者传null,undefined,函数中的this指向window对象  (2)传递另一个函数的函数名,函数中的this指向这个函数的引用  (3)传递字符串、数值或布尔类型等基础类型,函数中的this指向其对应的包装对象,如String、Number

3、、Boolean  (4)传递一个对象,函数中的this指向这个对象  functiona(){   console.log(this);//输出函数a中的this对象对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解  }  functionb(){}//定义函数b  varobj={name:'onepixel'}

4、;//定义对象obj  a.call();//window  a.call(null);//window  a.call(undefined);//window  a.call(1);//Number  a.call('');//String  a.call(true);//Boolean  a.call(b);//functionb(){}  a.call(obj);//Object  这是call的核心功能,它允许你在一个对象上调用该对象没有定义的方法,并且这个方法可以访问该对象中的属性,至于这样做有什么好处,我待会再讲,我们

5、先看一个简单的例子:  vara={   name:'onepixel',//定义a的属性   say:function(){//定义a的方法   console.log("Hi,I'mfunctiona!");   }  };  functionb(name){对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解   

6、console.log("Postparams:"+name);   console.log("I'm"+this.name);   this.say();  }  b.call(a,'test');  >>  Postparams:test  I'monepixel  I'mfunctiona!  当执行b.call时,字符串`test`作为参数传递给了函数b,由于call的作用,函数b中的this指向了对象a,因此相当于调用了对象a上的函数b,而实际上a中没有定义b。  apply(thisArgs[,args[]])  ap

7、ply和call的唯一区别是第二个参数的传递方式不同,apply的第二个参数必须是一个数组,而call允许传递一个参数列表。值得你注意的是,虽然apply接收的是一个参数数组,但在传递给调用函数时,却是以参数列表的形式传递,我们看个简单的例子:  functionb(x,y,z){   console.log(x,y,z);  }  b.apply(null,[1,2,3]);//123对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学

8、习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解  apply的这个特性很重要,我们会在下面的应用场景中提到这个特性。  bind(thisArgs[,args...])  b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。