undefined 以及 is not defined

来源:互联网 发布:联合国商品贸易数据库 编辑:程序博客网 时间:2024/06/11 19:43

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

原创粉丝点击