专栏名称: 众成翻译
翻译,求知的另一种表达
目录
相关文章推荐
数据分析与开发  ·  清北 DeepSeek ... ·  昨天  
非法加冯  ·  繁荣的PostgreSQL扩展生态 ·  昨天  
AustinDatabases  ·  临时工:数据库人生路,如何救赎自己 -- ... ·  2 天前  
51好读  ›  专栏  ›  众成翻译

理解 JavaScript: new 关键字

众成翻译  · 掘金  ·  · 2018-05-04 10:01

正文

由于存在海量的库和工具,以及各种各样简化你开发的玩意儿,很多程序员开始在不深入了解底层的情况下开发应用。JavaScript就是这种现象的代言人。JavaScript作为一种最复杂的且流传最广泛的语言,很多的开发者被高层次库的使用吸引,同时将糟粕抽离。

尽管你在不深入了解的情况下仍可以开发值得称道的应用,但深入JavaScript绝对让你收益。对“怪异部分”的理解可以让高级开发者在芸芸众生中脱颖而出,另外,虽然JS的生态日新月异,但对“怪异部分”的理解依旧是所有其他工具的基础。理解了这些就会拓展你的视野,并且改变你看待开发过程的方式。

在我 之前的文章 中稍微提到过 new 关键字,它创建了一个对 this 的绑定。在面向对象语言中, new 关键字总是用于实例化一个类。

var dog = new Dog();

原理是类的构造函数被调用,并且实例化了新的对象。尽管JavaScript的语法非常相同,但使用 new 在底层还是会引发不同行为

没有构造函数

首先,我们并不是必须要用一个类来生成对象。在JavaScript中我们可以用函数就能实现此目标。构造函数只不过是在调用时 new 关键字放在其前面的普通函数而已。你可以说没有构造函数-只有构造函数调用,因为实际上所有的函数都可以被调用去创建对象。这并不是对象或者类或者任何特殊定义方式的一部分。

这里有几个 构造函数调用 经历的步骤,但我们只关注现在讨论的事项:







请到「今天看啥」查看全文