You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中检查未声明变量是否为undefined或null避免报错

错误根因

你直接在判断条件中读取未声明的myArray变量,JavaScript 引擎访问未声明的变量时会直接抛出引用错误,也就是你看到的控制台报错,对应中文含义为:未捕获的引用错误:myArray 未定义。
另外你之前尝试的条件判断存在两个错误:

  • 直接读取未声明变量触发报错
  • 逻辑运算符误用||(或),即便变量已声明,该条件也会永远返回true,无法实现校验效果

正确实现方案

方案1:使用typeof判断(兼容性最好,支持判断任意作用域变量)

typeof运算符访问未声明的变量时不会抛出错误,会直接返回字符串undefined,是最稳妥的判断方式:

// 先判断变量是否已定义且不为空
if (typeof myArray !== 'undefined' && myArray !== null) {
  var obj = JSON.parse(JSON.stringify(myArray));
  var initialPreview; 
  if(obj.initialPreview) {
    initialPreview = obj.initialPreview; 
  } 
}

方案2:全局变量专属判断(更简洁)

如果myArray是全局作用域下声明的变量,你可以直接通过window对象访问判断,访问对象不存在的属性只会返回undefined,不会抛出引用错误:

if (window.myArray != null) {
  var obj = JSON.parse(JSON.stringify(window.myArray));
  var initialPreview = obj.initialPreview ?? undefined;
}

注:!= null的写法会同时过滤undefined和null两种情况,等价于!== undefined && !== null,写法更简洁。


内容的提问来源于stack exchange,提问作者user3733831

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 18:45:02