一:说说你对this的理解
1:this在预编译阶段指向window
2:this在全局中指向window
3:call,bind,apply可以改变this指向
4:obj.this此时的this指向obj
二:call、apply、bind的区别和联系
联系:call,apply,bind都是改变this指向问题,第一个参数都是this要指向的对象,都可以利用后续参数传参
区别:call和apply除了传参方式不同其他的作用是完全相同的,call的传参方式是散列的,apply则是传一个数组,且使用call和apply后函数会立即执行,而bind则返回一个新的函数等待被调用。
三:下列代码执行结果为
1:console.log('hello one')
2:console.log('hello four')
3:console.log('hello three')
4:console.log('hello two')
四:下列代码执行结果为
a={id:1,name='test'}