### js基础
#### 语法:
JavaScript严格区分大小写,如果弄错了大小写,程序将报错或者运行不正常。
JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{...}。但是,JavaScript并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;。
js代码行末自动添加分号机制:
return , break, continue 后方如果没有代码,会自动加上分号; 所以如果 后方有返回值(如:return false;) 则应该同行;
++, --可作为前缀和后缀,作为后缀时,应与表达式同一行 (如: 1++)应写在同一行
#### 缩进及嵌套
缩进
注意花括号{...}内的语句具有缩进,通常是4个空格。缩进不是JavaScript语法要求必须的,但缩进有助于我们理解代码的层次,所以编写代码时要遵守缩进规则。很多文本编辑器具有“自动缩进”的功能,可以帮助整理代码。
嵌套
JavaScript本身对嵌套的层级没有限制,但是过多的嵌套无疑会大大增加看懂代码的难度。遇到这种情况,需要把部分代码抽出来,作为函数来调用,这样可以减少代码的复杂度。
#### 注释
以//开头直到行末的字符被视为行注释,注释是给开发人员看到,JavaScript引擎会自动忽略:
用/*...*/把多行字符包裹起来,把一大“块”视为一个注释:
### 数据类型
js有两种数据类型:基本数据类型和引用数据类型;
基本数据类型: Number, String, Null, Undefined, NaN, Boolean, Symbol(ES6引入的一种新的原始数据类型,表是独一无二的值)
引用数据类型: Array, Object;
可通过:typeof xxx 来进行类型判断;
null是js关键字,用来描述空值。进行tyoeOf运算返回Object;
NaN不能用 typeof 来进行类型判断,唯一能判断NaN的方法是通过isNaN()函数: isNaN(aa) return true/false;
#### 对象的属性
在实际应用中,我们经常会需要使用Object.keys()或者for...in来枚举对象的属性名;
Symbol类型的key是不能通过Object.keys()或者for...in来枚举的,它未被包含在对象自身的属性名集合(property names)之中。所以,利用该特性,我们可以把一些不需要对外操作和访问的属性使用Symbol来定义。
for/in不会遍历对象的所有属性,只有可枚举的属性才会遍历到,代码中定义的所有属性和方法都是可枚举的,内置的方法则不行;
- 如果for/in的循环体删除了还未枚举的属性,- 那个这个属性将不会被枚举到。
- 如果循环体定义了新属性,这些属性通常也不会被枚举到;
### 变量
变量在JavaScript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。
申明变量方法有: var, let, const,
但是javaScript并不强制要求用var,let等申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量:
当用var声明了一个变量,实际上就是定义了全局变量的一个属性,这个属性不可配置(也就是无法用delete删除),不用var声明的全局变量可以delete删除;
js基础之-语法,数据类型
最新推荐文章于 2024-08-06 15:23:19 发布