js 中 new操作符的作用

2021-10-19 14:26:23 字數 831 閱讀 5006

1.在記憶體中建立乙個新物件

var obj  =

;

2.把新物件的_ _ proto_ _屬性鏈結到建構函式的原型prototype屬性上

//fn 建構函式

obj.__proto__ = fn.prototype;

3.把建構函式內部的this指向新物件上並呼叫建構函式(給新物件新增屬性)

fn.call(obj)
4.如果建構函式返回的是非空物件(),則返回該物件;否則,返回剛建立的物件。

(返回的是引用型別就返回引用型別物件,沒有返回或者返回資料型別則返回新建立的物件)

下面是一些小例子,加深一下理解

function fn();

}var a = new fn(

);

console.log(a.user) //undefined

function fn();

}var a = new fn(

);

console.log(a.user)//undefined

function fn(

)var a = new fn(

);

console.log(a.user)

;//11

function fn(

)var a = new fn(

);

console.log(a.user)//11

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

前言 js是當今時代最常用的 操作語言,其中new操作符尤為常見。對於很多 小白來說,並不清楚new在js中扮演著怎樣的角色,具體是做什麼用,幹了什麼。本文從new操作符的作用著手,簡單介紹new操作符相關知識。什麼是new?眾所周知,在js中,new的作用是通過建構函式來建立乙個例項物件。像下面這...

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 建立乙個類的例項...