判断变量是否存在时需要注意的问题
如果以变量是否存在作为判断条件,当变量不存在时,浏览器会抛出错误,也就是说,不能判断不存在的变量
1 if(abc){alert(1321)}; 2 VM513:1 Uncaught ReferenceError: abc is not defined 3 at <anonymous>:1:4
有很多种写法可以避免这种错误,下面是几种常见的写法
1.将判断变量转化为判断window属性是否存在
1 if(window.abc){console.log('fine')}; 2 undefined
2.有时window并不是全局对象,这是可以用this代替全局对象
1 if(this.abc){console.log('fine')}; 2 undefined
3.将变量存在性判断转化为变量是否定义(块中的定义会别提升)
1 if(abc==undefined){var abc;}; 2 undefined
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步