javascript - 为什么关键字 'this' 在 html 和 js 中不起作用?

标签 javascript this

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/

相关文章:

javascript - bootstrap modal 显示先前调整大小的 textarea

javascript - 需要帮助为 Web 应用程序配置 JavaScript 和 JSON 支持的本地化

javascript - "this"iframe 中的 onerror

javascript - 为什么我的方法看不到 this.property?

java - “this”关键字没有访问它应该访问的预期变量。为什么?

javascript - 在 javascript 函数中发送此参数

javascript - 填写表单时不会启用提交按钮

javascript - 禁用 FancyTree 的延迟加载

javascript - 更改我的 jquery 移动主题会更改我的 css 样式

c# - 如何在对象快速初始化中传递 'this' 引用