之前编写一个用了百度地图页面中时犯了一个很低级的错误:过度依赖百度图,数据的加载显示流程必须在百度地图加载成功才能正确显示。这样导致的问题就是,如果电脑网络不好,无法加载地图,那没有用到百度地图的一些数据就无法正常显示了。于是对代码进行了修改,然后又发现了一个以前没有接触过的问题,便记录下来。
在断网的情况下,百度地图的BMap 变量出现了一个报错BMap is not defined
我一直以为如果没有声明一个变量,且使用了这个变量的值时,JS会给他一个undefined
的值才对,但事实却不是这样。
undefined
意思是“不明确,未定义的”的,也就是说这个变量被创建了,但却不知道用处。
is not defined
意思是“未创建”,也就是说这个变量根本就没被创建过,这时候如果使用了这个变量,就会抛出XX is not defined 这个错误。
但是这两个typeof 的值都是“undefined”
。
原因是“未定义”的变量的typeof返回的就是“undefined”
而undefined的typeof也是返回“undefined”
。
undefined 以及 is not defined
最新推荐文章于 2024-06-02 00:21:07 发布