3
A
回答
3
2
1
object.constructor.name
將返回構造函數的名稱。這裏有一個例子:
function SomeClass() {
/* code */
}
var obj = new SomeClass();
// obj.constructor.name == "SomeClass"
請注意,您需要使用命名的功能,如果您分配匿名函數變量,這將是一個空字符串...
var SomeClass = function() {
/* code */
};
var obj = new SomeClass();
// obj.constructor.name == ""
但是你可以同時使用,則命名函數的名稱將被退回
var SomeClassCtor = function SomeClass() {
/* code */
};
var obj = new SomeClassCtor();
// obj.constructor.name == "SomeClass"
0
你可以試試這個問題,以及
function getType(obj){
if (obj === undefined) { return 'undefined'; }
if (obj === null) { return 'null'; }
return obj.constructor.name || Object.prototype.toString.call(obj).split(' ').pop().split(']').shift().toLowerCase();
}
function MyClass(){}
console.log(getType(new MyClass)); // MyClass
console.log(getType([])); // Array
console.log(getType({})); // Object
console.log(getType(new Array)); // Array
console.log(getType(new Object)); // Object
console.log(getType(new Date)); // Date
console.log(getType(new Error)); // Error
+0
'obj === undefined'停止我的腳本尖叫obj是未定義的,所以我不能測試它:-)所以它會值得添加下面的測試: 'console.log(getType(some_undefined_variable)); //應該返回undefined,但不在所有瀏覽器上 – Greg0ry
相關問題
- 1. 爲什麼javascript的typeof總是返回「object」?
- 2. 爲什麼`typeof this`返回「object」?
- 3. 爲什麼JavaScript從valueOf()而不是[object]返回[object Object]?
- 4. 爲什麼typeof(Object [,] [])。Name等於「Object [] [,]」?
- 5. 爲什麼console.log()顯示一個數組,但typeof返回'object'?
- 6. typeof(Array,null)返回object和typeof(null,Array)返回函數
- 7. 爲什麼帶有對象的typeof數組返回「Object」而不是「Array」?
- 8. 爲什麼filter返回[object Object]?
- 9. 爲什麼我的POST返回[object Object]
- 10. 爲什麼val()函數返回[object Object]?
- 11. typeof的返回類型是什麼?
- 12. 爲什麼`typeof false || undefined`返回「布爾」
- 13. 爲什麼typeof 3> 2在javascript控制檯中返回false?
- 14. 爲什麼我返回[Object,object]而不是字符串?
- 15. 什麼時候和爲什麼List remove(Object object)返回false
- 16. C#XmlElement:爲什麼總是返回Nulll?
- 17. 爲什麼malloc總是返回NULL
- 18. 爲什麼程序總是返回'false'?
- 19. 爲什麼test.regex總是返回true?
- 20. 爲什麼QFile :: canReadLine()總是返回false?
- 21. 。爲什麼.valid()總是返回TRUE?
- 22. 爲什麼$ result總是返回false?
- 23. 爲什麼FindFirstFileW總是返回-1?
- 24. 爲什麼getPointerCount()總是返回1?
- 25. 爲什麼IndexOf總是返回零?
- 26. 爲什麼Canvas :: GetLeft總是返回0?
- 27. 爲什麼indexPathForItemAtPoint總是返回零
- 28. 爲什麼mysqli_num_rows總是返回0?
- 29. 爲什麼ShowDialog總是返回DialogResult.Cancel?
- 30. 爲什麼evhttp_request_get_connection()總是返回NULL?
'一.constructor.name' – elclanrs