javascript在闭包中使用this对象
来源:互联网 发布:部落冲突苍蝇升级数据 编辑:程序博客网 时间:2024/05/22 02:29
在闭包中使用this对象会导致一些问题,this对象在运行时是基于函数的执行环境绑定的:在全局环境下,this等于window,当函数被作为某个对象的方法调用时,this指向这个对象。匿名函数的执行环境具有全局性。在闭包中使用this可能会出现非预期的结果。
var name="window"; var obj={ name:"object", getname:function(){ return function(){ return this.name; } } } alert(obj.getname()) //***返回function(){return this.name;} alert(obj.getname()()) //返回 "window"
为作对比,我在*标记出加了一句代码。这句代码返回一句function函数。再看最后一句,obj.getname()()是对上一句返回函数的执行,由于obj.getname()返回的是个匿名函数,在执行obj.getname()()时,相当于在全局环境下,定义了一个函数:
var newfunction = function(){
return this.name;
}
这种情况下this自然指向的是全局环境中的name。
阅读全文
0 0
- javascript在闭包中使用this对象
- 关于JavaScript闭包中this对象(colsure)
- [JAVASCRIPT] this 对象
- javascript 中 this 对象
- JavaScript 关于this对象
- javascript this 对象详解
- javascript-this对象指代
- JavaScript 理解this对象
- JavaScript之this对象
- JavaScript 的this对象
- Javascript this对象
- javaScript 上下文this 对象
- 【javascript】javascript对象中的this
- javascript call()方法和this对象的使用
- javascript的this使用
- JavaScript this使用场景
- JavaScript 上下文对象 (this)
- javascript面向对象(this)
- 某一页面强制横屏
- Day 1:Eclipse创建Android模拟器
- JavaScript实现阿拉伯数字和中文数字互相转换
- js验证汉字正则表达式
- SSIS(简单数据抽取过程介绍)
- javascript在闭包中使用this对象
- Eclipse快捷方式
- Eslint 从入门到放弃
- Angular表达式
- PHP_notes_03
- 修改CentOS7的主机名以及密码
- czl蒟蒻的模板库8——单调队列
- 使用第三方APPKey授权 跳转登录 QQ
- 一代、二代、三代测序技术原理与比较