🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 基本类型 [toc] ## 基本数据类型 - Number - String - Boolean - Object - Null - Undefined ## 类型识别 typeof - Number->number - String->string - Boolean->boolean - Object->object - Null->object - Undefined->undefined ## 原始类型和引用类型 原始类型 - Number - String - Boolean - Null - Undefined 引用类型 - Object 存储的是指针 例子:连等 ```javascript var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// --> {n:2} ``` 事实上,解析器在接受到 `a = a.x = {n:2}` 这样的语句后,会这样做: 找到 `a` 和` a.x `的指针。如果已有指针,那么不改变它。如果没有指针,即那个变量还没被申明,那么就创建它,指向 `undefined`。 `a `是有指针的,指向` {n:1}`;`a.x` 是没有指针的,所以创建它,指向 `undefined`。 然后把上面找到的指针,都指向最右侧赋的那个值,即 `{n:2}`。 所以执行以后,就有了如下的变量关系图。 ![](https://box.kancloud.cn/81a90750e165910a5dc337b367780f25_800x252.png) http://pythontutor.com/visualize.html#mode=edit