博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于this指向
阅读量:7103 次
发布时间:2019-06-28

本文共 947 字,大约阅读时间需要 3 分钟。

this是js中一个难点,通常来讲,this就是指向当前的运行环境,js对象可以看成全局对象和局部对象,当函数直接在全局环境中运行,则this指向全局对象

function foo(){	console.log(this);}	foo();//输出window

 第二种,当this在对象中的时候,this 指向的是该对象

var obj ={	    	name  :"Jack",             value :"can play pubg",	        play  : function(){	        	console.log(this.name + this.value) 	        }	   	    	    };	    obj.play(); //输出Jack can play pubg

 第三种,当this在构造函数中的时候,this 将会指向新的实例,此时this 会通过new 关键字指向实例,详细的下回开专题讲

function Foo(name,value){	       this.name = name;	       this.value = value;	       this.play = function(){	       	console.log(this.name + this.value);	       }	    }	    var foo = new Foo("peter","can do it");	    foo.play();//输出 Peter can do  it

 第四种,当this被apply 和 call 以及bind 函数使用时 会改变当前的运行环境 

let a =5;	    let b =3;	    let sub =(a,b) => a - b;	    let add =(a,b) => a + b;	    console.log(sub.call(add,a,b)); // 改变add的运行环境 输出为2

 this关键字在写插件时尤其重要,一定要反复理解

转载于:https://www.cnblogs.com/maoxiaodun/p/9995648.html

你可能感兴趣的文章
如何通过抓包查看客户端https连接中ssl/tls加密所采用的秘钥位数
查看>>
如何以低成本提升IT安全性和合规性?
查看>>
《机械制造业智能工厂规划设计》——1.2 新一轮工业革命的兴起
查看>>
MIUI刷机曝重大危险 可致短信照片等个人隐私被盗
查看>>
物联网时代 企业需做出的十大战略选择
查看>>
IEEE中国区总裁赵永前:IEEE与未来网络技术
查看>>
光速运行的量子加密
查看>>
ESG:浅析思科进军服务器市场行业影响
查看>>
美国“黑色星期五”单日销量不及双十一
查看>>
探索Javascript异步编程
查看>>
云计算:对计算能力进行贩售的方式
查看>>
《中国人工智能学会通讯》——11.20 多任务学习在交通分析中的应用
查看>>
分析:大数据如何催化电子商务企业
查看>>
H3C吴健:技术与行业理解是我们的核心竞争力
查看>>
CycleBeads:App不仅能避孕,成功率还有95%
查看>>
Android热修复技术总结
查看>>
飞康软件定义平台为Oracle提供全面保护与恢复
查看>>
Java常用算法1——冒泡排序
查看>>
如何在数据中心行业玩转互联网思维?
查看>>
9月6日云栖精选夜读:DMS前后端技术揭秘及最佳实践
查看>>