位置: 编程技术 - 正文
this是面向对象语言中一个重要的关键字,理解并掌握该关键字的使用对于我们代码的健壮性及优美性至关重要。而javascript的this又有区别于Java、C#等纯面向对象的语言,这使得this更加扑朔迷离,让人迷惑。
this使用到的情况:1. 纯函数2. 对象方法调用3. 使用new调用构造函数4. 内部函数5. 使用call / apply 6.事件绑定
1. 纯函数
运行结果分析:纯函数中的this均指向了全局对象,即window。
2. 对象方法调用
运行结果分析:被调用方法中this均指向了调用该方法的对象。
3. 使用new调用构造函数
运行结果分析:new 构造函数中的this指向新生成的对象。
4. 内部函数
运行结果分析:内部函数中的this仍然指向的是全局对象,即window。这里普遍被认为是JavaScript语言的设计错误,因为没有人想让内部函数中的this指向全局对象。一般的处理方式是将this作为变量保存下来,一般约定为that或者self,如上述代码所示。
5. 使用call / apply
Note:apply和call类似,只是两者的第2个参数不同:[1] call( thisArg [,arg1,arg2,… ] ); // 第2个参数使用参数列表:arg1,arg2,... [2] apply(thisArg [,argArray] ); //第2个参数使用 参数数组:argArray 运行结果分析:使用call / apply 的函数里面的this指向绑定的对象。
6. 事件绑定事件方法中的this应该是最容易让人产生疑惑的地方,大部分的出错都源于此。
运行结果分析:以上2种常用事件绑定方法,在页面Element上的进行事件绑定(onclick="btClick();"),this指向的是全局对象;而在js中进行绑定,除了attachEvent绑定的事件方法外,this指向的是绑定事件的Elment元素。
推荐整理分享javascript运行机制之this详细介绍(javascript运行环境有哪些),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascript运行机制,javascript运行环境有哪些,js运行器安卓版下载,javascript运行器,javascript运行机制,javascript运行环境有哪些,javascript运行环境有哪些,javascript运行机制,内容如对您有帮助,希望把文章链接给更多的朋友!
JavaScript的strict模式与with关键字介绍 年月,ECMAScript发布了ECMAScript5,这距离上一个版本的ECMAScript3标准发布已经整整十年了,其间JavaScript虽然大行于web编程,ECMAScript4却最终因为利益相
javascript类型转换使用方法 (一)转换为字符串X+''toString()String()函数转换为字符串一般是将函数体输出,不过可以重写其toString方法(二)转换为数字parseInt(),parseFloat()使用Number()
js格式化时间和js格式化时间戳示例 /***时间对象的格式化;*/Date.prototype.format=function(format){/**eg:format="YYYY-MM-ddhh:mm:ss";*/varo={"M+":this.getMonth()+1,//month"d+":this.getDate(),//day"h+":this.getHours(),//hour"m+":t
上一篇:JavaScript初学者建议:不要去管浏览器兼容(javascript新手教程)
下一篇:JavaScript的strict模式与with关键字介绍
友情链接: 武汉网站建设