这篇文章主要介绍了JavaScript函数中这有哪些不同的指向,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
<强>上下文和这关键字强>
在JavaScript中,函数有自己的执行上下文,在这里要特别注意下函数的执行上下文不是关于它是如何声明的,也不是说函数的作用,而是关于如何在代码中调用它,我们在调用此执行上下文时就会用到。当这从函数内部访问时,实际上就是访问其执行上下文。
<强>调用函数方式与这强>
上下文取决于函数的调用方式,我们可以通过4种不同的方式来调用上下文的函数,因此本也有四种不同的指向
1。一个基本的函数调用
2。使用上下文对象调用函数,也称为隐式绑定。
3。使用电话()或调用函数应用(),也称为显式绑定。
4。通过绑定()方法绑定
<>强基本函数调用强>
基本函数调用是调用函数的最简单方法
例:
& lt;脚本类型=拔谋?javascript"比; var name=罢湃? 函数的学生(){ console.log (this.name); } 学生(); & lt;/script>
在这个例子中可以看出()是学生从全局范围内调用函数,因此这里的这个指代的是全局范围,所以输出结果为“张三"
<>强隐式绑定强>
当函数被一个对象“包含”的时候,我们称函数的这个被隐式绑定到这个对象里面了
& lt;脚本类型=拔谋?javascript"比; var={学生 名称:“张三“, obj:函数(){ console.log (this.name) } } student.obj (); & lt;/script>
obj函数虽然被放到对象里去但是并不会因为它被定义在对象的内部就会与外部产生区别,在隐式绑定下,obj通过这还是可以访问到学生对象中的一个属性
<强>显示绑定强>
可以使用电话()或()应用方法调用函数,其执行上下文显式绑定到对象,调用和应用可以改变这指向
例:未使用电话()或者应用()时
& lt;脚本类型=拔谋?javascript"比; var name=罢湃? var obj={ 名称:“李四“, 乐趣:函数(){ console.log (this.name);}} obj.fun (); & lt;/script>
利用电话()使这指向窗口
& lt;脚本类型=拔谋?javascript"比; var name=罢湃? var obj={ 名称:“李四“, 乐趣:函数(){ alt=" JavaScript函数中这有哪些不同的指向"><强> bind()绑定强>
bind()会创建一个函数,函数体内的这对象的值会被绑定到传入bind()第一个参数的值,但是绑定不执行函数,只返回一个可供执行的函数
& lt;脚本类型=拔谋?javascript"比; var={ b:函数(){ var func=function () { console.log (this.c); } func.bind () (); }, c: & # 39;你好! & # 39; } a.b (); & lt;/script>通过绑定方法将这指向c对象中的内容。
感谢你能够认真阅读完这篇文章,希望小编分享JavaScript函数中这有哪些不同的指向内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!
JavaScript函数中这有哪些不同的指向