标签:style blog io ar color sp on div 问题
一般一个页面的JS代码我会放到一个对象里,像这样:
var App = { header: $(‘#header‘), showHello: function() { alert(‘hello‘); } }
这个对象里的方法会有调用的关系,当然会想到this,尤其在事件绑定的时候,因为js中的this是可变的,所以就会在方法开始出获取this,var _this = this;
var App = { header: $(‘#header‘), showHello: function() { alert(‘hello‘); } init: function() { var _this = this; header.addEventListener(‘click‘, function() { _this.showHello(); }, false) } }
然后init方法在DOMContentLoaded事件触发。
window.addEventListener(‘DOMContentLoaded‘, App.init, false);
我就理所当然这样写,然后就报错了。提示Uncaught TypeError: object is not a function
一直不知道所以然,后来console.log(_this)一下,输出是window对象,console.log(this)也是一样的。
为什么指向了window没有指向App呢?有点疑惑。
然后修改成下面这样就可以了:
window.addEventListener(‘DOMContentLoaded‘, function() { App.init(); }, false);
标签:style blog io ar color sp on div 问题
原文地址:http://www.cnblogs.com/zjzhome/p/4111385.html