对象文字方法上的Javascript绑定不起作用
Javascript bind on object literal methods not working
bind方法不会将't'变量作为新的'this'关键字转移到"ob.bind_part()"对象文字函数?
var ob = {
"first": function() {
console.log("first function");
var t = "new bind";
ob.bind_part.bind(t);
},
"bind_part": function() {
console.log(this.toString());
}
};
(function() {
ob.first();
ob.bind_part(); // returns the 'ob' object instead of the bind
})();
但是,如果使用了"call",则不是绑定
ob.bind_part.call(t); //THIS WORKS
它有效吗?
知道为什么绑定不起作用吗?
感谢
Function.bind
返回一个新函数,您必须将其分配给obj.bind_part
var ob = {
"first": function() {
console.log("first function");
var t = "new bind";
ob.bind_part = ob.bind_part.bind(t);
},
"bind_part": function() {
console.log(this.toString());
}
};
(function() {
ob.first();
ob.bind_part(); // returns "new bind"
})();
.bind()
方法不会对函数进行变异,而是返回一个新函数。您没有对返回值执行任何操作。以下方法可行:
ob.bind_part = ob.bind_part.bind(t);
.bind()
返回一个新函数,您需要将其分配回调用对象。
ob.bind_part = ob.bind_part.bind(t);
相关文章:
- 对象文字方法上的Javascript绑定不起作用
- 将日期时间javascript绑定到表列
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 从 Javascript 绑定到 MetroStyle App 中的 InnerHTML
- 使用Javascript绑定立即调用方法
- 关于JavaScript绑定方法
- Javascript绑定提交事件
- wp8和winrt上的javascript绑定
- Is Javascript绑定由值调用
- 将javascript绑定到提交按钮时出现问题
- Javascript绑定语法
- Javascript 绑定使用调用和 setInterval
- 在Selenium webdriver javascript绑定中创建“自定义”承诺
- Javascript 绑定函数到 Ajax 加载事件
- 使用自定义 Javascript 绑定在 Python 中嵌入 Gecko
- 使用 ajax 将我的 asp.net 网格视图与 javascript 绑定
- PHP 相当于 JavaScript 绑定
- javascript绑定's函数参数解释
- Javascript:绑定到函数的右侧
- 创建和使用iOS设置.在PhoneGap中使用JavaScript绑定值