所谓的普通函数,指的是声明式、赋值式/匿名函数对象中的函数
普通函数的this,指的都是调用函数时“.”之前写的内容
对象中的函数,点之前是这个对象,此时this指向的就是这个对象
var obj = {
name:'张三',
age:18,
fun:function(){console.log(this)},//this指的是obj这个对象
};
obj.fun();
声明式函数、匿名函数/赋值式函数,this的指向是window对象
window对象,是JavaScript定义的一个顶级对象(最大的)
JavaScript在其中定义了很多很多内容,可以直接调用和使用
window本也是一个对象, ,window.属性可以调用属性值
window.函数,可以调用函数方法,常用的方法有alert警告窗
因为window是顶级对象 , 如果调用window中的方法,可以不写window对象名称。调用window中的方法/函数window可写可不写
alert('我是弹窗内容---第一个');
window.alert('我是弹窗内容---第二个');
声明式、赋值式/匿名函数,都是定义在 window 对象中的方法函数
调用声明式、赋值式函数时,理论上应该写成,window.函数名()、window.变量名(),但是 window 可写可不写
调用函数时,“.”之前实际上是window。this的指向,就是window这个顶级对象
function fun1(){
console.log(this);
}
fun1();
window.fun1();
var fun2 = function(){
console.log(this);
}
fun2();
window.fun2();