91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

JS中prototype怎么使用

小億
156
2023-08-18 04:14:36
欄目: 編程語言

在 JavaScript 中,每個對象都有一個 prototype 屬性,可以通過 Object.prototype 來訪問。prototype 屬性是一個指向原型對象的指針,它包含了共享給所有實例對象的屬性和方法。通過原型對象,可以實現對象之間的繼承和共享。

可以通過以下幾種方式來使用 prototype

  1. 構造函數的 prototype 屬性:通過給構造函數的 prototype 屬性添加屬性和方法,可以使得通過該構造函數創建的所有實例對象都共享這些屬性和方法。
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.sayHello = function() {
console.log("Hello, my name is " + this.name);
};
var person1 = new Person("John", 25);
person1.sayHello(); // 輸出 "Hello, my name is John"
  1. 實例對象的 __proto__ 屬性:每個實例對象都有一個 __proto__ 屬性,它指向構造函數的 prototype 屬性。通過實例對象的 __proto__ 屬性,可以訪問到原型對象的屬性和方法。
console.log(person1.__proto__ === Person.prototype); // 輸出 true
person1.__proto__.sayHello(); // 輸出 "Hello, my name is John"
  1. Object.create() 方法:可以使用 Object.create() 方法創建一個新對象,新對象的原型對象就是作為參數傳入的對象。
var personProto = {
sayHello: function() {
console.log("Hello, my name is " + this.name);
}
};
var person1 = Object.create(personProto);
person1.name = "John";
person1.age = 25;
person1.sayHello(); // 輸出 "Hello, my name is John"

需要注意的是,prototype 屬性只在構造函數中存在,而 __proto__ 屬性和 Object.create() 方法在所有對象中都存在。此外,通過 prototype 添加的屬性和方法是在實例對象的原型鏈上,而不是直接在實例對象上,因此可以被所有實例對象共享。

0
轮台县| 安庆市| 武义县| 新竹县| 营口市| 永昌县| 清徐县| 佛教| 卢湾区| 武强县| 大石桥市| 黄山市| 民和| 长宁区| 龙川县| 宣威市| 稻城县| 扶绥县| 宝兴县| 涞水县| 南通市| 晋江市| 景东| 渭源县| 鹤庆县| 咸阳市| 桃园县| 乡城县| 隆回县| 呼和浩特市| 安义县| 印江| 丹江口市| 城市| 邵阳县| 利津县| 林西县| 天水市| 蓝田县| 淮安市| 玛曲县|