<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
function fun(a,b){
console.log("a="+a+"\nb="+b);
console.log(this);
}
console.log("一、以函数的形式调用是,this永远都是window,相当于window.fun(123,456)~");
fun(123,456);//以函数的形式调用是,this永远都是window,相当于window.fun(123,456)
// 创建一个对象
var obj={
name:"孙悟空",
sayname:fun
};
console.log("二、obj.sayname==fun是否为真:~");
console.log(obj.sayname==fun);
obj.sayname(147,258);//以方法的形式调用时,this就是调用方法的那个对象obj
var obj2={
name:"猪八戒",
sayname:fun
};
obj2.sayname(789,456);
// 以函数的形式调用是,this永远都是window,所以this.name调用的是“var name”
console.log("三、以函数的形式调用是,this永远都是window,所以this.name调用的是“var name”~");
var name="全局的name属性";
function fun2(a,b){
console.log("a="+a+"\nb="+b);
console.log(this.name);
}
fun2(456,456);
console.log("四、this可以根据调用者的不同变成不同的值,从而改变“this.name2”的值:~");
var name2="全局";
function fun3(){
console.log(this.name2);
}
var obja={
name2:"孙悟空2",
sayname:fun3
};
var objb={
name2:"沙和尚2",
sayname:fun3
};
fun3();
obja.sayname();
objb.sayname();
</script>
</head>
<body>
</body>
</html>
转载请注明原文地址:https://ipadbbs.8miu.com/read-20492.html