http://jsfiddle.net/#run&togetherjs=2c9lcPPkKn
来源就在那里。
我的问题是,
html:onClick="this.blahblahblah='blah'"
<- 这段代码可以工作,但是
function test() { this.blahblah='blah'; }
html:onClick="test()"
<- 这不起作用。
这是为什么呢?为什么关键字“this”不起作用?
最佳答案
这是不同的上下文。
onClick="test(this)"
function test(cmp) { cmp.blahblah='blah'; }
在 JavaScript 中,this 始终指代我们正在执行的函数的“所有者”,或者更确切地说,指代函数所属的对象。当我们在页面中定义可靠的函数 doSomething() 时,它的所有者就是页面,或者更确切地说,JavaScript 的 window 对象(或全局对象)。不过,onclick 属性由它所属的 HTML 元素拥有。
关于javascript - 为什么关键字 'this' 在 html 和 js 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25113015/