JavaScript函数中this有哪些不同的指向
这篇文章主要介绍了JavaScript函数中this有哪些不同的指向,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、大冶网络推广、微信小程序开发、大冶网络营销、大冶企业策划、大冶品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供大冶建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
上下文和this关键字
在JavaScript中,函数有自己的执行上下文,在这里要特别注意下函数的执行上下文不是关于它是如何声明的,也不是说函数的作用,而是关于如何在代码中调用它,我们在调用此执行上下文时就会用到this。当this从函数内部访问时,实际上就是访问其执行上下文。
调用函数方式与this
上下文取决于函数的调用方式,我们可以通过4种不同的方式来调用上下文的函数,因此this也有四种不同的指向
1. 一个基本的函数调用
2. 使用上下文对象调用函数,也称为隐式绑定。
3. 使用call()或调用函数apply(),也称为显式绑定。
4. 通过bind()方法绑定
基本函数调用
基本函数调用是调用函数的最简单方法
例:
在这个例子中可以看出student()是从全局范围内调用函数,因此这里的this指代的是全局范围,所以输出结果为“”张三“”
隐式绑定
当函数被一个对象“包含”的时候,我们称函数的this被隐式绑定到这个对象里面了
obj函数虽然被放到对象里去但是并不会因为它被定义在对象的内部就会与外部产生区别,在隐式绑定下,obj通过this还是可以访问到student对象中的a属性
显示绑定
可以使用call()或apply()方法调用函数,其执行上下文显式绑定到对象,call和apply可以改变this指向
例:未使用call ()或者apply()时
利用call()使this指向window
bind()绑定
bind()会创建一个函数,函数体内的this对象的值会被绑定到传入bind()第一个参数的值,但是bind不执行函数,只返回一个可供执行的函数
通过bind方法将this指向c对象中的内容。
感谢你能够认真阅读完这篇文章,希望小编分享JavaScript函数中this有哪些不同的指向内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!
当前标题:JavaScript函数中this有哪些不同的指向
当前路径:http://azwzsj.com/article/gidcpp.html