zoukankan      html  css  js  c++  java
  • jQuery 源码理解的基础

    /**
    * Created by cyk on 14-4-17.
    */
    function Person() {
    var temp = this; //this指向Person
    console.log("here");
    return new Person.prototype.init();
    }

    Person.prototype = {
    constructor: Person, //这种方式覆盖了Person的prototype,所以要重新指定constructor
    init: function () {
    // var temp = this; //因为init是构造函数,第6行被new了,被new的时候构产生的对象会调用构造方法,谁调指向谁,this指向新建对象

    //this与prototype无关,这是构造函数的内部问题,构造函数中的this指向新创建的对象,
    // 而对象有自己的执行环境,即新对象的执行环境在init方法内部,
    // 新创建的对象中有prototype下的方法,
    //so,jQuery源码入门的难点理解了
    console.log(this);
    // console.log(this instanceof Person); //this == Person.init 这种语句没有任何意义,this是新建造的对象,而后者是一个方法的引用
    // return new Date();
    }
    }

    //Person.prototype.init.prototype 表示12行的构造函数下要有Person.prototype下面的这些方法
    Person.prototype.init.prototype = Person.prototype;

    var person1 = new Person();
    var person2 = new Person();

    console.log(person1 == person2)

    console.log(person1)

  • 相关阅读:
    无题
    赌对了
    赌:
    这次是真的再见了,oi退役回忆录
    线段树(lazy标记)
    《挑战》2.1 POJ POJ 1979 Red and Black (简单的DFS)
    《挑战》2.1 POJ 2386 Lake Counting (简单的dfs)
    TC安装全系列教程
    ProblemC 剪花布条(KMP基础)
    多校+CF简单题
  • 原文地址:https://www.cnblogs.com/yakun/p/3673479.html
Copyright © 2011-2022 走看看