new 為一元運算子
作用:後面只能跟函式,用來呼叫函式
使用new呼叫函式與直接呼叫函式的區別:
functionfn1()
//this指向的變化
var ret1 = fn1();//
window
var ret2 = new fn1();//
fn1{}
//返回值的變化沒有return
console.log("ret1:"+ret1);//
ret1:undefined
console.log("ret2:"+ret2);//
ret2:[object object]
//返回值的變化有return 返回物件
function
fn2()
var ret3 =fn2();
var ret4 = new
fn2();
console.log("ret3:"+ret3);//
et3:summer,autumn
console.log("ret4:"+ret4);//
ret4:summer,autumn
//返回值的變化有return 返回非物件
function
fn3()
var ret5 =fn3();
var ret6 = new
fn3();
console.log("ret5:"+ret5);//
ret5:我是字串
console.log("ret6:"+ret6);//
ret6:[object object]
使用new呼叫函式可以改變 this 的指向,返回值始終是乙個物件。
js中的new運算子
function base var base new base alert typeof base object var base base alert typeof base string 由以上可知,如果函式返回值是number,string,boolen這樣的值型別,則通過new運算子可以返回...
定位new運算子
通常,new 從堆中分配記憶體,但它還有另一種稱為 定位 placement new 運算子,它可以讓我們指定要使用的位置。可以通過這個特性來設定記憶體管 理規程,處理需要通過特定位址進行訪問的硬體或在特定位置建立物件。要使用定位 new 特性,需要包含標頭檔案 new。使用定位 new 運算子時,...
定位 new 運算子
定位 new 運算子 和普通的new 運算子在堆上隨機分配記憶體相比,定位 new 運算子可以在特定的位址位置 定位 new 運算子的具體使用例項 const int buf 512 const int n 5 char buffer buf void part9 newplace 定位new 的其...