普通函数中的this问题

所谓的普通函数,指的是声明式、赋值式/匿名函数对象中的函数
普通函数的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();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值