JavaScript中获取纯正undefined的三种方法

作者:函数茶馆

时间:2026-10-29

浏览:622

在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"

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章