zoukankan      html  css  js  c++  java
  • javascript之彻底理解this

    彻底理解this,需要彻底理解函数

    • 函数是复杂类型,存储在堆中. 

    • 函数是独立的, 对象中的方法只是对象中有个函数的引用

    • 函数被调用时,调用者会像被调用者提供个上下文环境, 这个环境就是this

    • 构造函数稍微有点特殊,它绑定了上下文,添加了原型,调用了方法

    "use strict";
     var name = "hello";
     var obj = {
      name:"wanhong",
      getName:function(){
        console.log(this.name);
      }
     }
    
    // 默认调用
    obj.getName(); // wanhong
    
    // 引用调用
    var fun = obj.getName;
    fun(); 
    
    // 应用apply改变context
    var scope = {name:"world"}; 
    fun.apply(scope);   // world
    
    // 构造函数自带context
    function People() {
      this.name='wanhong';
    }
    var p = new People();
    //构造的过程差不多如下
    // var scope = {name:"wanhong"};
    // scope.__proto__ = People.prototype;
    // scope.constructor = People;
    // People.apply(scope);
    // return scope;
  • 相关阅读:
    Vue图片国际化
    lambda表达式
    1
    JSPday11
    JSPday10
    JSPday09
    JSPday08
    JSPday07
    JSPday23 预留
    JSPday05(Servlet)
  • 原文地址:https://www.cnblogs.com/honghong87/p/6010773.html
Copyright © 2011-2022 走看看