js基础之-语法,数据类型

### 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删除;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值