Js函数深入理解-闭包中的this
来源:互联网 发布:wow传输数据遇到问题 编辑:程序博客网 时间:2024/05/20 14:23
Js函数深入理解-闭包中的this
闭包中的this
var name = 'lisi';
var obj = {
name:'zhsan',
a:function(){
return function(){
return this.name;
}
}
}
console.log(obj.a()())
这里会打印什么呢?估计很有很多人说是'zhsan'
之前在“Js函数深入理解-内部属性与递归”这篇文章中提到过关于this的解释。其中有句"谁在调用,这个this就指向谁"。
上面的代码可以写成这样
b = obj.a();
console.log(b());
由此可以知道 b是由window这个全局对象调用,因此this指向window,所以值为"lisi"
如果要访问obj对象里面的name呢,我们可以这样
var name = 'lisi';
var obj = {
name:'zhsan',
a:function(){
var obj_this = this; //这里的this指向的是obj
return function(){
return obj_this.name;
}
}
}
console.log(obj.a()()) //zhsan
0 0
- Js函数深入理解-闭包中的this
- 深入理解js中的闭包
- 深入理解ES6箭头函数中的this
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- 深入理解js闭包
- tomcat日志采集
- 4.3 结构类型——类型定义
- HTML5video视频标签全属性详解
- IntelliJ IDEA的在线注册码
- 使用友盟统计情况下的 多渠道打包配置
- Js函数深入理解-闭包中的this
- 安卓低版本不支持transform
- 正向代理与反向代理
- C/C++编译错误整理
- 【技术】Java入门:for-each循环语句使用总结
- 中缀表达式转换为后缀表达式
- Android 面试题(三)
- 10 个开源的Java库
- Java类初始化顺序