忽略显示绑定
apply/call/bind: 当传入null/undefined时,自动将this绑定成全局对象
function foo() {
console.log(this)
}
foo.apply("abc")
foo.apply({})
// apply/call/bind: 当传入null/undefined时,自动将this绑定成全局对象
foo.apply(null)
foo.apply(undefined)
var bar = foo.bind(null)
bar()
间接函数引用
// 争论:代码规范;
var obj1 = {
name: "obj1",
foo: function() {
console.log(this)
}
}
var obj2 = {
name: "obj2"
};
// obj2.bar = obj1.foo
// obj2.bar()
(obj2.bar = obj1.foo)()
obj2后边必须加;,如果不加,会报错。
不加()会认为是单独是一行,但是加了()就不能了