我在这里有这个脚本,我不知道如何传递这个变量来显示它。
function show(a) {
this.name = a;
$("#box").show();
$(document).on("click","#box",function() {
alert(this.name);
} );
}
我知道我可以像这样提醒它
警报(A);
但在我的真实代码中,我有一个动态变量soi需要传递tit并使用此方法显示它:
警报(this.name);
答案 0 :(得分:0)
由于在关闭中定义了a
,您可以在任何地方使用a
,而不是尝试使用this
。
答案 1 :(得分:0)
您可以使用bind
:
function show(a) {
this.name = a;
$("#box").show();
$(document).on("click","#box",function() {
alert(this.name);
}.bind(this) );
}
bind
返回一个绑定到特定上下文的函数。这样您就拥有了正确的背景。当您更改属性name
上下文对象时,您的提醒会显示正确的name
。
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
这是一篇关于Function.prototype.bind
的好文章:http://coding.smashingmagazine.com/2014/01/23/understanding-javascript-function-prototype-bind/