首页 > 解决方案 > javascript中的内置方法在哪里?

问题描述

请帮我弄清楚,我看到javascript中的每个对象都导致原型链中的对象对象,然后是null,在console.log中我们可以看到对象的属性和方法,但看不到它的实现,我想知道这个对象是否是顶级的存储所有内置对象的级别对象,是这样吗?

谢谢大家的回答!

标签: javascript

解决方案


Javascript 是一种基于对象的语言。这意味着“一切”都继承自 Object,除了 Object 本身,原型链的顶部是 null。当您声明一个数组时,您可以使用.lenght它,因为它是在原型属性中定义的。也有一些例外,例如 int、floats 等。

事实上,当你运行一个控制台时,你可以从它的父母那里看到每一个方法。尝试为新对象创建一个构造函数,例如:

var Person = function(name, yearOfBirth, job) {
    this.name = name;
    this.yearOfBirth = yearOfBirth;
    this.job = job;
}

向此 Person 的原型添加一个方法:

Person.prototype.calculateAge  = function() {
    console.log(2016 - this.yearOfBirth);
};

并创建这个新“类”的实例:

var sarah = new Person('Sarah', 1994, 'programmer');

现在转到浏览器上的控制台并键入sarah以查看它的方法和变量。您会注意到 John 独有的变量将出现在第一个下拉列表中,但您还会注意到 John 并没有calculateAge直接附加到它。那是因为它在它的原型中,搜索一个叫做的东西_proto_,你会看到这个方法和一个构造,猜猜还有什么?另一个_proto_,这一次,它是来自 Person 父级的 proto,或者换句话说,是 Object。

Object在那里你可以从它本身中找到大部分方法。

原型使 JavaScript 中的继承成为可能


推荐阅读