首頁  >  文章  >  web前端  >  js中new運算子做了哪些事情

js中new運算子做了哪些事情

百草
百草原創
2023-11-13 16:05:471548瀏覽

js中new操作符做了:1、建立一個空對象,這個新對象將成為函數的實例;2、將新對象的原型連結到建構子的原型對象,這樣新對象就可以存取建構函式原型物件中定義的屬性與方法;3、將建構函式的作用域賦給新對象,這樣新物件就可以透過this關鍵字來引用建構函式中的屬性與方法;4、執行建構子中的程式碼,建構函式中的程式碼將用於初始化新物件的屬性和方法;5、如果建構函式中沒有返回等等。

js中new運算子做了哪些事情

本教學作業系統:windows10系統、DELL G3電腦。

在JavaScript中,new操作符用於建立一個新的物件實例。當使用new操作符呼叫函數時,它將執行以下步驟:

#1. 建立一個空物件。這個新物件將成為函數的實例。

2. 將新物件的原型連結到建構函式的原型物件。這樣新物件就可以存取建構函數原型物件中定義的屬性和方法。

3. 將建構子的作用域賦給新物件。這樣新物件就可以透過this關鍵字來引用建構函式中的屬性和方法。

4. 執行建構函式中的程式碼。構造函數中的程式碼將用於初始化新物件的屬性。

5. 如果建構函式中沒有傳回其他對象,那麼new操作符將會傳回新建立的物件實例。否則,傳回建構函數中傳回的物件。

下面是一個範例,示範了new運算元的使用:

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
}
// 使用new操作符创建一个Person对象实例
var person1 = new Person("John", 25);
// person1现在是一个Person对象实例
console.log(person1.name); // 输出: "John"
console.log(person1.age); // 输出: 25

在上面的範例中,透過new運算子呼叫Person建構函式建立了一個新的Person物件實例。這個新物件實例的name屬性被設定為"John",age屬性被設定為25。

要注意的是,new運算子實際上是一個語法糖,它隱藏了一些底層細節。實際上,new操作符只是呼叫了建構函數,並且將建構函數的原型物件連結到新物件的原型鏈上。因此,我們也可以透過手動執行這些步驟來模擬new操作符的行為。

總結起來,new操作子在JavaScript中做了以下幾件事:建立一個新物件、連結原型鏈、設定作用域、執行建構函式程式碼,並傳回新物件實例。這些步驟使得我們能夠使用建構函式來建立物件實例,並且可以在建構函式中對新物件進行初始化。

以上是js中new運算子做了哪些事情的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn