課程
/前端開發
/JavaScript
/JavaScript深入淺出
老師 你說的這個 new ?我想到了一個問題。這個new 有什么作用?
2015-02-06
源自:JavaScript深入淺出 4-2
正在回答
不使用new調用函數,就是正常的函數調用,return值作為返回值,若沒有return語句則返回undefined。
function?foo()?{ ????this;?//?全局對象 } foo();?//?undefined
使用new調用函數,函數將作為構造器,調用時函數內的this會指向以foo.prototype為原型的對象,若無return語句或return返回的不是對象,則將this作為返回值。
function?foo()?{ ????this;?//?object ????this.__proto__;?//?foo.prototype; } new?foo();?//?object
重新分配內存
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
3 回答用new創建的問題一點疑問?
5 回答對于prototype和new的疑問
4 回答請問 var obj = new Object; 和 var obj = new Object(); 的區別是什么?
1 回答為什么new一個出來調用就不會問題
2 回答{}.toString.apply(new String(‘str’));
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-02-08
不使用new調用函數,就是正常的函數調用,return值作為返回值,若沒有return語句則返回undefined。
使用new調用函數,函數將作為構造器,調用時函數內的this會指向以foo.prototype為原型的對象,若無return語句或return返回的不是對象,則將this作為返回值。
2015-02-06
重新分配內存