function myfactory(){
var a1 = "John".constructor // 返回函数 String() { [native code] }var a2 = (3.14).constructor // 返回函数 Number() { [native code] }
var a3 = false.constructor // 返回函数 Boolean() { [native code] }
var a4 = [1,2,3,4].constructor // 返回函数 Array() { [native code] }
var a5 = {name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
var a6 = new Date().constructor // 返回函数 Date() { [native code] }
var a7 = function () {}.constructor // 返回函数 Function(){ [native code] }
document.write(a1+"<br>"+a2+"<br>"+a3+"<br>"+a4+"<br>"+a5+"<br>"+a6+"<br/>"+a7);
}
//利用constructor判断变量类型
function myArray(){var sa = 123;
var res = sa.constructor.toString().indexOf("Array")>-1;
alert(res);
}
注意:
- NaN 的数据类型是 number
- 数组(Array)的数据类型是 object
- 日期(Date)的数据类型为 object
- null 的数据类型是 object
- 未定义变量的数据类型为 undefined