zoukankan      html  css  js  c++  java
  • this在JavaScript中的工作范围

    this在JavaScript中的工作范围

    在一个函数中,this的行为,取决于JavaScript函数的调用方式和定义方式,而不仅仅是看它如何被定义的。

    var fullname = 'Fu';
    var obj = {
       fullname: 'Yin',
       prop: {
          fullname: 'Gardenia',
          getFullname: function() {
             return this.fullname;
          }
       }
    };
    

    运行下面代码:

    console.log(obj.prop.getFullname());
    

    Gardenia //输出

    运行下面代码:

    var test = obj.prop.getFullname;
    

    console.log(test());

    Fu //输出

    运行下面代码:

    console.log(test.call(obj.prop));
    

    Gardenia //输出

    运行下面代码:

    console.log(test.call(obj));
    

    Yin //输出

    运行下面代码:

    console.log(test.call());
    

    Fu //输出

    运行下面代码:

    console.log(test.call(window));
    

    Fu //输出

    总结:

    
    Javascript的this遵从就近原则,不然就是window。
    

    -----------------------------------------------------------------------
    Simple is Beautiful,Less is More.
    --FuGardenia
  • 相关阅读:
    SQL的高级属性-
    查询
    SQL语句
    CSS的创建样式
    表单部分属性值
    HTML的语法和基本标签
    网页制作与HTML基本结构
    小程序button 去边框
    关于axios跨域带cookie
    Uncaught Error: code length overflow. (1604>1056)
  • 原文地址:https://www.cnblogs.com/yunqianduan/p/3989848.html
Copyright © 2011-2022 走看看