Atitit.js this错误指向window的解决方案
来源:互联网 发布:模拟电路软件 编辑:程序博客网 时间:2024/05/23 19:12
Atitit.js this错误指向window的解决方案
1.1. 出现地点and解决之道1
1.2. call,apply和bind这三个方法2
1.2.1. Function.prototype.call2
1.3. 在函数内部出现的this,指什么要看这个this所在的函数的被调用方式。 不论这个this出现在什么样的函数中,层次有多深,结构多复杂,只要看直接包含它的函数即可。例如: (1) 被直接调用时,this指全局对象window。3
2. ref3
1.1. 出现地点and解决之道
出现地点::: 回调js methd的时候儿...
解决之道::HRE.exe(mp,this.merge_callback.bind(this));
因为:::
下面说说我的拙见,如有不对,大神请指出。
先看setTimeout(this.sayHello, 1000);
this.sayHello只是传了一个函数引用过去,这里的this指的是foo.prototype,因为JS函数块是作用域,而setTimeout(this.sayHello, 1000); 是在foo.prototype.bar里面。
foo.prototype.bar = function(){
setTimeout(this.sayHello, 1000);
}
所以就相当于
setTimeout(function(){
alert(this.myName);
}, 1000);
属于2、函数调用,this指向window。
setTimeout其实是window.setTimeout,setTimeout执行的时候this是指向window
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
1.2. call,apply和bind这三个方法
1.2.1. Function.prototype.call
fun.call(thisArg[, arg1[, arg2[, ...]]])
可以用来指定调用call的函数的this指向(函数体的作用域),在所给定的thisArg(对象)作用域中执行该函数(call的调用者),后面的参数是函数调用过程中需要用到的数据,以逗号分隔的形式给出。
apply函数与call的使用场景类似,不同的地方是在调用参数部分,直接给出的是参数数组,而不是挨个添加,这对于编码来讲,大有裨益,可以直接把参数处理成数组的形式,传递进去,省去不少功夫,也提升了自动化能力
与上面不同的是,bind会返回一个改变this指向的新函数 ,注意这里强调的是新函数,其与之前的使用的不是同一块内存地址,
1.3. 在函数内部出现的this,指什么要看这个this所在的函数的被调用方式。
不论这个this出现在什么样的函数中,层次有多深,结构多复杂,只要看直接包含它的函数即可。例如:
(1) 被直接调用时,this指全局对象window。
func();
(2) 被作为构造函数调用时,this指当前正在构建的对象。
new func();
(3) 被作为某个对象A的方法调用时,this指方法所属的对象A。
A.func();
(4) 使用函数的apply或call方法调用时,this指第一个参数B。
func.apply(B, [m, n, ...]);
func.call(B, m, n, ...);
2. ref
JS中的call、apply、bind方法的区别-日拱一卒-微头条(wtoutiao.com).htm
(2 封私信 7 条消息) JS中的this 在不同的地方指向不一样,在哪些地方需要注意? - 知乎.htm
- Atitit.js this错误指向window的解决方案
- JS this的指向
- js的this指向
- js中的this指向问题及解决方案
- JS:this关键字的指向
- js中this的指向
- js中this的指向
- js中this的指向
- js this的指向详解
- js中this的指向
- js中 this 的指向
- js中this的指向
- js中this的指向
- JS中this的指向
- Js中this的指向
- 闭包中this指向window的原因
- js中的this指向和改变this指向的方法
- JS 改变函数中 this 的指向
- OpenStack监控组件---Ceilometer alarm属性分析
- 合理的制造bug,及查找bug
- abstract关键字
- 高度最小的BST
- 主题:免费的论文查重网站 正文:推荐一个免费的论文查重网站PaperFree:http://www.paperfree.cn
- Atitit.js this错误指向window的解决方案
- Math.floor,Math.ceil,Math.rint,Math.round用法详解
- 在ubuntu下安装lamp(linux+apach+mysql+php)
- Opencv 绘图函数
- CSS盒子模型与背景图片
- 理工 58题 最少步数
- 主从DB与cache一致性
- javascript实现轮播图
- 构造函数与析构函数举例