📜  Prototype-基本对象(1)

📅  最后修改于: 2023-12-03 15:33:48.410000             🧑  作者: Mango

Prototype-基本对象

Javascript中的每个对象都有一个指向其原型的链接,即其“原型”。原型是一个包含属性和方法的对象,可以从中继承这些属性和方法。在这里,我们介绍了Javascript的基本对象(Object、String、Array等)的原型,以及如何扩展和使用它们。

Object

Object.prototype是所有Javascript对象的原型。它包含了一些通用的方法,如toString()、valueOf()和hasOwnProperty()。你可以重写这些方法来改变它们的行为。下面是一些示例:

let myObject = {
  name: 'John',
  age: 30
};

console.log(myObject.toString()); // [object Object]

Object.prototype.toString = function() {
  return `My name is ${this.name} and I am ${this.age} years old.`;
};

console.log(myObject.toString()); // My name is John and I am 30 years old.
String

String.prototype是所有字符串对象的原型。它包含了许多有用的方法,如slice()、toUpperCase()和indexOf()。你也可以重写这些方法来改变它们的行为。以下是一些示例:

let myString = 'Hello, World!';

console.log(myString.slice(0, 5)); // Hello

String.prototype.slice = function(start, end) {
  return this.substring(start, end).toUpperCase();
};

console.log(myString.slice(0, 5)); // HELLO
Array

Array.prototype是所有数组对象的原型。它包含了许多有用的方法,如push()、pop()、join()和slice()。你也可以重写这些方法来改变它们的行为。以下是一些示例:

let myArray = [1, 2, 3, 4];

console.log(myArray.join(' ')); // 1 2 3 4

Array.prototype.join = function(separator) {
  return this.toString().split(',').join(separator);
};

console.log(myArray.join(' ')); // 1 2 3 4
Function

Function.prototype是所有函数对象的原型。它包含了一些通用的方法,如call()、apply()和bind()。你可以重写这些方法来改变它们的行为。以下是一些示例:

function myFunction(a, b) {
  return a + b;
}

console.log(myFunction.call(null, 1, 2)); // 3

Function.prototype.call = function(thisArg, ...args) {
  return this.apply(thisArg, args) * 2;
};

console.log(myFunction.call(null, 1, 2)); // 6

有关更多信息,请参阅 MDN web docs