javascript中的内置方法在哪里?

时间:2018-07-16 15:39:26

标签: javascript

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

谢谢大家的回答!

2 个答案:

答案 0 :(得分:1)

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

实际上,当您运行控制台时,可以从其父级看到每个方法。尝试为一个新对象创建一个构造函数,例如:

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

向此人的原型添加方法:

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

并创建此新“类”的实例:

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

现在转到浏览器上的控制台,然后输入sarah来查看其方法和变量。您会注意到,John专有的变量将出现在第一个下拉列表中,但您还会注意到,John没有直接附加calculateAge。那是因为它在其原型中,搜索名为_proto_的东西,您将看到此方法以及一个构造,然后猜测还有什么?另一个_proto_,这是来自Person的父代的原型,换句话说,就是Object。

您可以在Object本身中找到大多数方法。

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

答案 1 :(得分:0)

也许您想看看ECMA规范?

http://www.ecma-international.org/publications/standards/Ecma-262.htm

每个浏览器可能都有自己的Javascript实现。也许像这样的回购将有所帮助。

https://github.com/v8/v8