THIS

THIS

函数执行的主体(不是上下文):意思是谁把函数执行的,那么执行主体就是谁
this非常的不好理解,以后遇到this,想到一句话:“你以为你以为的就是你以为的

this是谁和函数在哪创建的或者在哪执行的都没有必然联系

  • 掌握几条分清执行的主体的规律
    1. 给元素的某个事件绑定方法,当事件触发方法执行的时候,方法中的this是当前操作的元素本身

    2. 如何确定执行主体(this)是谁?当方法执行的时候,我们看方法前面是否有点,没有点this是window或undefined;有点,点前面是谁this就是说谁

    3. 在构造函数模式执行中,函数体中的this是当前类的实例

var name = '你好';
function fn() {
    console.log(this);
}
var obj = {
    name:"世界";
    fn:fn;
}
obj.fn();//=>this:obj
fn();//=>this:window(非严格模式,严格模式下是undefined) window.fn()把window.省略了

(function(){
    //自执行函数中的this是window或undefined
})

思考?????????????

//=>hasOwnProperty方法中的this:ary.__proto__.__proto__
ary.__proto__.__proto__.hasOwnProperty()

let obj={
    fn:(function(n){
        //把自执行函数执行的返回结果赋值给fn
        //this:window
        return function(){
            //=>fn等于这个返回的小函数
            //this:obj
        }
    })(10)
};
obj.fn();


function fn() {
    //this:window
    console.log(this);
}
document.body.onclick=function() {
    //this:document.body
    fn();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、定时器 1、循环定时器的设置和取消 (1)启动循环定时器:setlnterval() 循环定时器,调...
    烂漫的点地梅阅读 141评论 0 0
  • 一、正则对象 1、RegExp 对象的创建方式 var reg=newRegExp ("表达式"); //开发中...
    烂漫的点地梅阅读 121评论 0 0
  • 0x1 WAF的常见特征 之所以要谈到WAF的常见特征,是为了更好的了解WAF的运行机制,这样就能增加几分绕过的机...
    土拨鼠先生_阅读 825评论 0 0
  • 所谓一步一个脚印,以前学习东西总是模棱两可,这次解决了下次可能再遇到类似的问题总是会出现一些问题 现在开始就要学会...
    菩提_阅读 2,011评论 0 0
  • 关于函数的一些操作 回想一下java中方法的定义和调用 //java:求和 publicintadd(inta,i...
    江河日下i阅读 206评论 0 0

友情链接更多精彩内容