Day9
1-说说你对 this 的理解
JavaScript this 关键字
面向对象语言中 this 表示当前对象的一个引用。
但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。
- 在方法中,this 表示该方法所属的对象。
- 如果单独使用,this 表示全局对象。
- 在函数中,this 表示全局对象。
- 在函数中,在严格模式下,this 是未定义的(undefined)。
- 在事件中,this 表示接收事件的元素。
- 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
开篇给结论:在 ES5 中 this 永远指向的是最后调用它的那个对象。
一个简单的例子:
var obj = {
func () {
console.log(this)
}
}
var bar = obj.func
bar() // 打印出window
obj.func() // 打印出obj
2-call\apply\bind 的区别和联系?
解决this指向问题
。。。等待更新
3-下面代码执行的结果是什么?
// 定时器 自调用函数 研究执行顺序
4-下面代码执行的结果是什么?
{id: 1, name: "test"} id: 1 name: "test" _proto__: