Javascript将数据发送到函数
Javascript send data to function
我想让生成器类作为父类,以及一些子类。所以我像这样定义默认构造函数和父函数:
function Generator (){
this._startIndex=0;
this._endIndex=61;
alert("Generator Ready " + this._startIndex + " " + this._endIndex);
}
Generator.prototype.make=function() {
alert (this._startIndex);
}
var worker= new Generator();
document.getElementById("but0").addEventListener("click", worker.make);
但在这种情况下,"this"是一个按钮,this._startIndex是未定义的。
万一,我调用如下函数:
document.getElementById("but0").addEventListener("click", worker.make(warker._startIndex));
该函数不是在单击时调用,而是在加载时调用。我嘘寒问暖,这是一个简单的问题,但一个多小时我找不到答案。
this
关键字具有不同的含义,具体取决于范围和调用函数的人员。
要强制this
持有您想要的东西,您需要使用 Function.prototype.bind
:
document.getElementById("but0").addEventListener("click", worker.make.bind(worker));
或者您也可以使用闭合...
document.getElementById("but0").addEventListener("click", function() {
worker.make();
});
in line document.getElementById("but0").addEventListener("click", worker.make);
当worker.make
get调用它不与worker对象绑定时,你可以通过以下方式实现
document.getElementById("but0").addEventListener("click", worker.make.bind(worker));
或
document.getElementById("but0").addEventListener("click",function(){
worker.make();
})
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 如何将firebase数据传递到函数中
- 为什么不'我们在javascript中使用函数参数的数据类型
- Meteor Router数据函数被调用两次
- onChange 函数更改表中显示的数据
- 如何降低此函数的复杂性,该函数根据数据类型进行回调
- 函数jquery.html()不提供数据属性集值
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 是否保证传递给 always 函数的回调将在函数(数据)回调完成其工作后调用
- get 函数数据报告空信息
- JavaScript函数数据处理
- 我想将函数数据发送到使用 javascript 中的按钮设计的边框中
- fnGetPosition不是一个函数-数据表
- 函数外的Javascript函数数据
- 使用函数数据动态加载onclick函数
- 如何将函数索引和函数数据统一为一个新函数
- 使用美元.Post方法将函数(数据)值返回给变量
- 没有函数数据绑定不能工作
- Jquery.ajax,成功:函数(数据)没有返回一个普通对象
- 未捕获的类型错误:未定义不是函数-数据表