• js 中关键字 this的用法


    <1>  js中this 的用法? 

    (key:函数是由调用的,四种情况标红可知)

    (http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html)

    this 关键字指的是函数在运行时,自动生成的内部对象,只能在函数内部使用,随着函数使用场合的变化this 的值也会发生变化,但是总原则是,this指的是调用函数的那个对象   =》范围:函数内部    对象:调用函数的那个对象

    this使用的四种情况

    1.直接调用函数

    var x = 1;

      function test(){

        this.x = 0;

      }

      test();     //直接调用函数,this代表的是全局对象Global

    alert(x); //0

                    2.作为对象的方法被调用

                    function test(){

        alert(this.x);

    }

      var o = {};

      o.x = 1;

      o.m = test;

    o.m(); // 1   由对象调用,作为对象的方法

       3.作为构造函数调用(构造函数和普通函数的区别:是否使用new 方法生成新对象)

     var x = 2;

      function test(){

        this.x = 1;

      }

      var o = new test();  //this 指代的是构造函数new的新对象

      alert(x); //2

    运行结果为2,表明全局变量x的值根本没变

    4.apply ,call 调用(这两函数的作用是改变函数的调用对象,第一个参数代表改变后的函数调用对象,空时默认全局对象)

    var x = 0;

      function test(){

        alert(this.x);

      }

      var o={};

      o.x = 1;

      o.m = test;

      o.m.apply(); //0 this指的是全局对象。

      o.m.apply(o); //1  指代O对象

     拓展:http://www.cnblogs.com/xxcanghai/p/5189353.html

  • 相关阅读:
    《闲扯Redis十》Redis 跳跃表的结构实现
    《闲扯Redis九》Redis五种数据类型之Set型
    《闲扯Redis八》Redis字典的哈希表执行Rehash过程分析
    《闲扯Redis七》Redis字典结构的底层实现
    《闲扯Redis六》Redis五种数据类型之Hash型
    js定时器为什么是不精确的
    单页面应用的优缺点(SPA)
    怎么减少http请求次数
    animation 和 transition 的区别
    akka-typed(9)
  • 原文地址:https://www.cnblogs.com/Spring-Rain/p/5941569.html
Copyright © 2020-2023  润新知