校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 语法相关-操作符相关
题目

如何判断上述类型?

解答

值类型的一般使用 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;
}


C 1条回复 评论
Aliens

有知道笔记在哪下载的吗,跪求老师笔记

发表于 2022-10-30 21:00:00
0 0