當用作新對象的構造函數(使用'new'關鍵字)時,JavaScript函數體中的return語句的效果如何?JS構造函數中的返回語句
5
A
回答
17
1
使用new
操作的原因是爲了確保this
構造內部指新的上下文,它支持:
this.functionName = function(){...};
,並允許使用instanceof
操作者:
function foo() {...}
var bar = new foo();
alert(bar instanceof foo);
使用return {...}
這樣的構造內否定這兩種效果this
不會與這樣的模式是必要的,並且作爲instanceof
將返回false
。
+0
感謝您的回覆,我認爲這暴露了js構造函數的缺點。 – Tony 2010-05-30 15:00:41
+0
或顯示語言的靈活性:) – 2010-05-30 15:14:56
相關問題
- 1. 是否允許constexpr構造函數返回語句?
- 2. switch語句中的RegExp構造函數
- 3. 構造語句中的函數
- 4. 構造函數返回值?
- 5. 構造函數返回值
- 6. 函數返回值無返回語句
- 7. 函數中的返回語句
- 8. 「構造函數調用必須是構造函數中的第一條語句」
- 9. 多個構造函數和if語句
- 10. C++簡單的單例實現返回語句的構造函數
- 11. 構造函數返回值的異常
- 12. 如何從構造函數中返回構造函數的對象
- 13. 模型構造函數返回數組
- 14. JS:製作更好的函數返回條件語句
- 15. 在訪問父構造函數時,JS類子類返回undefined
- 16. 函數內的返回語句
- 17. 在TypeScript中調用構造函數返回的函數
- 18. 返回語句中的ES6解構
- 19. 2函數返回值取決於if語句嗎? (JS)
- 20. Java:構造函數如何返回值?
- 21. PHP - 構造函數不返回false
- 22. Erlang:case..of構造函數調用返回?
- 23. Highchart構造函數不返回圖表
- 24. GeoCodeRequest()構造函數返回null
- 25. 使用構造函數返回
- 26. 從Scala構造函數提前返回
- 27. mysqli構造函數返回null
- 28. JavaScript構造函數返回錯誤
- 29. NSData contentsOfURL構造函數返回無
- 30. PHP構造函數返回NULL
請參閱:http://stackoverflow.com/questions/1978049/what-values-can-a-constructor-return-to-avoid-returning-this/ – CMS 2010-05-30 14:28:15