JavaScript
方法一 typeof
var str = 'aaaa';
var num = 123;
var fun = function () {};
var arr = [];
var ice= new Food();
var time = new Date();
// 方法一 typeof
console.log("方法一 typeof")
console.log(typeof fun); // function
console.log(typeof arr); // object
console.log(typeof ice); // object
/*缺点 : 实例对象和数组返回的都是object,没有办法区分。*/
方法二 tostring.call();
// 方法二 tostring.call();
console.log("方法二 tostring.call();")
console.log(toString.call(arr)); // [object Array]
console.log(toString.call(ice)); // [[object Object]]
console.log(toString.call(time)); // [object Date]
console.log(toString.call(str)); // [object String]
// 相比typeof来说,对象的类型更加的清晰
方法三 Instanceof 和 constructor
// 方法三 Instanceof 和 constructor
/*用于检测某个实例对象是由哪个构造函数创建出来的*/
console.log('方法三 Instanceof 和 constructor')
console.log(ice.constructor); //function Food() {}
console.log(ice instanceof Food); // true
方法三 Instanceof 和 constructor
// 方法四 hasOwnProperty 判断某个属性是不是对象自身的属性
var Room= {
name:'客厅',
size:{
length:1970,
width:50,
height:300
}
}
console.log(Room.hasOwnProperty('name')) // true
console.log(Room.hasOwnProperty('size')) // true
console.log(Room.hasOwnProperty('width')) //false
jQuery
以下方法对参数进行判断,返回一个布尔值。