1.浏览器调用函数每次都会向函数内部传递一个隐式参数,这个参数就是this,
function fun(a,b){
console.log(this);
}
obj = {
name :"孙悟空",
sayName: fun(),
}
- 函数调用传的是window,fun();是window调用
- 以方法的形式调用就是对象 obj.fun();this指向对象
- 全局变量和函数
var name = “孙悟空”;
function fun(){
console.log(this.name);
}
var obj2 = {
name = "孙悟空",
sayName= fun();
}
obj.sayName(); // this指向孙悟空
------------------------------------------------------------
var name = “沙和尚”;
function fun(){
console.log(name);
}
var obj2 = {
name = "沙和尚",
sayName= fun();
}
obj.sayName(); // 这是方法中没有name会去全局找name
网友评论