JavaScript中new与this
来源:互联网 发布:手机文件粉碎机软件 编辑:程序博客网 时间:2024/06/16 11:13
Js的面向对象机制是基于原型(prototype)的实现,算是工业领域里唯一的一家,感到奇怪也很正常。理解this,最好先理解javascript中new的含义。
new Constructor(); 这样的语句所做的工作是:
this所指向的对象,除window外其余都是来自new语句新建的对象。而window也可以认为是页面里new出来的第一个对象,附带一个“全局的”作用域(this也在这里面,指向window)。但没人利用这个“特性“拿this访问window,只有调用构造函数忘记了new才会出现这种情况。
new Constructor(); 这样的语句所做的工作是:
- 创建一个对象,对象的类型就是Object。
- 初始化对象内部的prototype,它的类型成为Constructor。
- 执行构造函数,将构造函数作用域里的this指向这个对象。
this所指向的对象,除window外其余都是来自new语句新建的对象。而window也可以认为是页面里new出来的第一个对象,附带一个“全局的”作用域(this也在这里面,指向window)。但没人利用这个“特性“拿this访问window,只有调用构造函数忘记了new才会出现这种情况。
作者:fleuria
链接:https://www.zhihu.com/question/19636194/answer/12612763
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
0 0
- JavaScript中new与this
- JAVAScript中的作用域与new,this,var关键字
- this、new与对象
- Javascript中构造函数与new命令
- Javascript中构造函数与new命令
- Javascript中构造函数与new命令
- javascript中作用域与关键字this
- java与javascript中this的小解
- JavaScript中new语句
- javascript中this
- javascript中this用法
- javascript 中 this 对象
- javascript中onclick(this)
- javascript中this用法
- javascript中this
- JavaScript 中 this 用法
- JavaScript中this关键字
- JavaScript中this详解
- Notepad++正则表达式替换规则
- Spring 框架简介
- Python基础:数据类型及语法
- 1栈和队列--猫狗队列
- 96. Unique Binary Search Trees
- JavaScript中new与this
- 讯为ITOP4412的按键驱动分析
- Linux 段错误详解
- 03_11Pandas_数据重构stack
- Android 百分比布局库(percent-support-lib) 解析与扩展
- adb shell 操作 sqlite
- javaScript之数组(二)
- 在centos7.2 linux系统上安装java环境JDK8
- (二)nfs的配置及在开发中的作用(基于Ubuntu)