JavaScript prototype(原型对象)

JavaScript 中所有的对象都有一个内置属性,称为它的 prototype(原型)。它本身是一个对象,故原型对象也会有它自己的原型,逐渐构成了原型链。原型链终止于拥有 null 作为其原型的对象上。

Object.prototype ,它是最基础的原型,所有对象默认都拥有它。 Object.prototype 的原型是 null ,所以它位于原型链的终点。

当你试图访问一个对象的属性时:如果在对象本身中找不到该属性,就会在原型中搜索该属性。如果仍然找不到该属性,那么就搜索原型的原型,以此类推,直到找到该属性;或者到达链的末端,在这种情况下,返回 undefined

获取原型

Object.getPrototypeOf(obj) 标准方式

查看更多

JavaScript 的一些函数

window.prompt

弹出对话框,获取用户输入的值

1
result = window.prompt(text, value);

result 用来存储用户输入文字的字符串,或者是 null。
text 用来提示用户输入文字的字符串,如果没有任何提示内容,可以省略。
value 文本输入框中的默认值,可以省略。不过在 Internet Explorer 7 和 8 中,省略该参数会导致输入框中显示默认值”undefined”。

console.log()

查看更多

伪数组(类数组)

一种按照索引存储数据且具有 length 属性的对象。因为是对象,所以不能调用数组的方法,比如 forEach()、push() 等。

1
2
3
4
5
6
let a = {
0: "x",
1: "y",
2: "z",
length: 3,
};

常见的伪数组

函数中的 arguments

1
2
3
4
5
6
test(1, 2, 3, 4);

function test() {
console.log(arguments); // expected output: [Arguments] { '0': 1, '1': 2, '2': 3, '3': 4 }
console.log(arguments.length); // expected output: 4
}

查看更多