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