所有使用bind()?像:如何在JS对象初始化
var a = {
name:"nihao",
hello: (function(){
console.log(this.name);
}).bind(this)
}
当我运行a.hello(),这是窗口。然后我改变了代码:
var a = {
name:"nihao",
hello: (function(){
console.log(this.name);
}).bind(a)
}
没有什么变化,所以我不知道如何可以绑定一个,因为这时候我初始化此对象吗?
谢谢
@HunanRostomyan谢谢,你的意思是在这两种情况下?我试过了,但都不起作用 – Kuan
删除定义内的绑定,并在调用过程中绑定它。例如,'a.hello.call({名称:'封'})'将打印“关”。 –
不用说,如果你只是叫'a.hello.call(a)',你会得到“nihao”。 –