解答
值类型的一般使用 typeof,返回其类型值的小写字符串;
// 一般值类型的判断(String、Number、Boolean)
var a = 1,
b = 'hello',
c = true;
console.log(typeof a === 'number'); // true
console.log(typeof b === 'string'); // true
console.log(typeof c === 'boolean'); // true
Undefined 比较特殊,也可以使用 typeof,返回‘undefined’,结合取非来判断:
// 是否是Undefined类型
function isUndefined(value){
if(!value && typeof ==='undefined')return true;
return false;
}
// 衍生:变量是否已经定义,并且是Undefined类型
var isDefined=false,isUndefined=false;
try{
isDefined=true;
if(!a && typeof a==='undefined')isUndefined=true;
}catch(err){
isDefined=false;
}
console.log(isDefined);
console.log(isUndefined);
Null 比较特殊,typeof 返回'object',结合取非来判断:
function isNull(value) {
if (!value && typeof value === 'object') return true;
return false;
}
对于引用型的 Object、Array、function 的判断:
数组使用 Array.isArray();
对象使用 toString()判断原始值是否为[object Object];
函数直接使用 typeof,是否为‘function’。
// 数组的判断
function isArray(value) {
if (Array.isArray(value)) return true;
return false;
}
// 对象的判断
function isObj(value) {
if (value.toString() === '[object Object]') return true;
return false;
}
// 函数的判断
function isFunction(value) {
if (typeof value === 'function') return true;
return false;
}
有知道笔记在哪下载的吗,跪求老师笔记