JavaScript中获取纯正undefined的三种方法
在JavaScript中,undefined并非保留字,可能被重新赋值导致检测失效。本文介绍三种获取纯正undefined的方法:使用void(0)、利用未赋值的函数形参以及声明未赋值的变量。同时补充说明使用typeof判断undefined类型的正确方式,确保代码在不同浏览器下的兼容性与准确性。
获取纯正undefined的必要性
1、为何需要获取undefined?
由于undefined在javascript中并非保留字,可被用户赋值,导致后续检测变量时结果不准确;
示例:
var undefined=10;
function sum(a,b){
if(a===undefined||b===undefined){
console.log("参数不正确");
}18101130357
return a+b;
}
sum(10,10)->原本正确的参数,控制台输出"参数错误";
为兼容所有浏览器,需获取纯正的undefinde
获取纯正undefined的三种方法
2、如何获取纯正的undefined?
1) void (0):
在ECMAScript 262规范中,描述如下:
The void Operator
The production UnaryExpression : void UnaryExpression is evaluated as follows:
Let expr be the result of evaluating UnaryExpression.
Call GetValue(expr).
Return undefined.
总之,无论void后的表达式为何,void操作符均返回undefined
2) 传入未赋值的形参
[案例]
function(_undefined){
//函数体中不给_undefined赋值,形参_undefined的值就是undefined,在这个函数用就可以使用_undefined了
}
3)未赋值的变量
示例:var num //原理同2)
不要厌烦熟悉的事物,每天都进步一点;不要畏惧陌生的事物,每天都学习一点;
PS:js判断undefined类型
if (reValue== undefined){
alert("undefined");
}
发现判断不出来,最后查了下资料要用typeof
方法:
if (typeof(reValue) == "undefined") {
alert("undefined");
}
typeof 返回字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
