🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、变量的数据类型 1、简单数据类型:Boolean/String/NumberUndefined/Null 在Javascript的简单数据类型中,有两个特别的类型:Undefined和Null,二者均只有一个值,分别是undefined和null(区分大小写),具体说明详见下文的常量部分。 2、复杂数据类型:常见的有两种,Array(数组)和Object(对象)。 2.1 在JavaScript中,不能直接声明二维等多维数组,但是可以通过嵌套实现,以声明二维数组为例,常见方式有: 2.1.1  var arr1 = new Array(); arr1[0] = new Array(); 2.1.2  var arr2 = new Array([1,2,3],new Array([4,5,6)); 2.1.3  var arr3 = [[1,2],[3,4]]; 2.2 Object是属性集合,属性用于描述对象特性。属性值可以是任何Javascript数据类型,包括对象。 var user  = new Object(); user.name = "zahng"; user.age=20; 上述定义了一个user对象,并给user的name和age属性赋值。 ## 二、变量的声明 1、在Javascript中,使用var声明变量:var 变量名;Javascript是无类型语言,在声明时不需要指定变量的数据类型,Javascript会自动转换。(变量名区分的大小写,在非严格模式下,var可以省略) 2、Javascript变量命名规范 2.1 第一个字符必须是字母、下划线或美元符 2.2 后跟任意的字母、数字、美元符和下划线,也可以是unicode字符(包括中文) 2.3 不能是关键字或逻辑常量(true/flase/null/undefined),且在作用范围内必须唯一 ## 三、常量 1、null常量:表示某个变量或属性未赋值。常见情况: 1.1 表示变量存在,蛋不需要定义值或未赋值:var ex1 = null;var ex2; 1.2 表示函数没有返回值:function getInfo(){return null;} 1.3 表示调用函数或方法,省略一个参数。 1.4 表示动态对象的属性值,当没有初始化,其值为null 2、undefined常量:表示未初始化的变量或动态对象属性。作用于不同类型时,返回值不同 String(undefined)返回字符串"undefined"; Number(undefined)返回"NaN"; Object(undefined)返回新的Object实例 3、null常量和undefined常量的比较 3.1 使用==和===比较null和undefined,返回值不同 nul == undefined返回true,null === undefined返回false. 3.2 概念的比较 var info = new Object; info.mes; alert(info.mes == null);  //返回true var user = new Object;alert(user,sex);  //返回undefined,sex属性没有初始化,null是针对动态对象属性,而Object是非动态属性 ## 四、ECMAScript的严格模式 1、使用严格模式 在全局范围或者函数内部(局部范围)使用严格模式,只需在脚本代码的第一行添加:"use strict";就可以在ECMAScript的严格模式的编程 2、严格模式下的特定要求 2.1 必须使用var关键字声明变量。 2.2 对象的属性名必须唯一且不同定义相同属性 2.3 函数中不同有同名参数且arguments数组的属性是只读的 2.4 eval成为i保留的关键字 2.5 with语句被抛弃,且不支持八进制数字