zoukankan      html  css  js  c++  java
  • JavaScript中new与this

    Js的面向对象机制是基于原型(prototype)的实现,算是工业领域里唯一的一家,感到奇怪也很正常。理解this,最好先理解javascript中new的含义。

    new Constructor(); 这样的语句所做的工作是:
    1. 创建一个对象,对象的类型就是Object。
    2. 初始化对象内部的prototype,它的类型成为Constructor
    3. 执行构造函数,将构造函数作用域里的this指向这个对象。

    this所指向的对象,除window外其余都是来自new语句新建的对象。而window也可以认为是页面里new出来的第一个对象,附带一个“全局的”作用域(this也在这里面,指向window)。但没人利用这个“特性“拿this访问window,只有调用构造函数忘记了new才会出现这种情况。


    作者:fleuria
    链接:https://www.zhihu.com/question/19636194/answer/12612763
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。
  • 相关阅读:
    TestNG
    K近邻算法
    Python解决乱码问题
    Log4J 配置
    多线程死锁
    hadooplzo安装出错的解决方法
    B树
    设计模式
    整数序列化
    Maven
  • 原文地址:https://www.cnblogs.com/Sherlock-J/p/12926031.html
Copyright © 2011-2022 走看看