關於Js中new操作符的作用詳解

2021-10-19 17:44:22 字數 1090 閱讀 8982

前言

js是當今時代最常用的**操作語言,其中new操作符尤為常見。對於很多**小白來說,並不清楚new在js中扮演著怎樣的角色,具體是做什麼用,幹了什麼。本文從new操作符的作用著手,簡單介紹new操作符相關知識。

什麼是new?

眾所周知,在js中,new的作用是通過建構函式來建立乙個例項物件。

像下面這樣:(和普通函式不一樣,當函式用作建構函式時,首字母一般要大寫,以作區分。)12

345function foo(name)

console.log("new foo('mm')的型別:",typeof new foo('mm')); // object

console.log("foo的型別:",typeof foo); // function

建立了乙個空物件

1var obj=new object();

在js**中,new操作符的主要作用是產生物件。通過new建立空物件,為建立物件打基底。

設定原型鏈

1obj.__proto__= func.prototype;

js中在利用new操作符建好基底後,就開始下一步的js**操作,設定原型鏈。new通過建構函式建立出的例項可以訪問到建構函式原型鏈中的屬性,換言之,通過new操作符,原型鏈鏈結了例項和構建函式。

(改變this指向)讓func中的this指向obj,並執行func的函式體。

1var result =func.call(obj);

一般情況下,在js**組中,出現this時,建構函式內部是正常工作,但當通過new操作符改變this指向後,所出現的返回值會被正常的返回出去。

判斷func的返回值型別:如果是值型別,返回obj。如果是引用型別,就返回這個引用型別的物件。12

3456

if (typeof(result) == "object")

else

從上述一組new操作符**中可看出,new還可用來判斷func的返回值型別。如果返回值是值型別,則正常返回。如果是引用型別,就返回到引用型別的物件。

以上四點是new操作符在js**中的主要作用,對於js**小白希望可以有幫助。

總結到此這篇關於關於js中new操作符作用的文章就介紹到這了

js 中 new操作符的作用

1.在記憶體中建立乙個新物件 var obj 2.把新物件的 proto 屬性鏈結到建構函式的原型prototype屬性上 fn 建構函式 obj.proto fn.prototype 3.把建構函式內部的this指向新物件上並呼叫建構函式 給新物件新增屬性 fn.call obj 4.如果建構函式...

JS中的new操作符

在js中定義乙個建構函式,然後用new操作符構造物件obj,js 如下。function base var obj new base console.log obj.name console.log obj.age new操作符具體都幹了什麼呢?其實很簡單,包括三步 1.var obj 2.obj....

js中的new操作符原理

舉乙個很常見的例子 function person name person.prototype.say function let p new person 花花 p.say 花花 為什麼會列印出 花花 為什麼建構函式中的 this 就指向了 物件?這就是 new 的原理起的作用 1 建立乙個類的例項...