JavaScript 基本概念

2020-04-20  本文已影响0人  噢是珊珊吖

一、ECMAScript 语法

1. 区分大小写

2. 标识符:指变量、函数、属性的名字,或者函数的参数。按照惯例,标识符采用驼峰大小写格式。

3. 关键字、保留字

二、变量

ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。

var message;

像这样未经过初始化的变量,会保存一个特殊的值—— undefined。

不知道图片咋左对齐

三、 数据类型

5种基本数据类型:Undefined、Null、Boolean、Number、String。

1种复杂数据类型:Object,Object 本质上是由一组无序的名值对组成的。

1. typeof 操作符

2. Undefined 类型只有一个值,即特殊的undefined。

3. Null 类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑角度来看,null值表示一个空对象指针。

如果定义的变量准备在将来用于保存对象,那么最好将变量初始化为null而不是其他值。

4. Boolean 类型只有两个字面值:true 和 false。

转型函数 Boolean()。流控制语句(如 if 语句)自动执行相应的 Boolean 转换。

5. Number 类型,使用IEEE754格式来表示整数和浮点数值。

浮点数值:在默认情况下,会将那些小数点后面带有6个零以上的浮点数值转换为以e表示法表示的数值(例如,0.0000003 会被转换成3e-7)。

浮点数值计算会产生舍入误差的问题,这是使用基于IEEE754 数值的浮点计算的通病。

NaN,即非数值(Not a Number)是一个特殊的数值。NaN本身有两个非同寻常的特点:1.任何涉及NaN的操作都会返回NaN;2.NaN与任何值都不相等,包括NaN本身。

isNaN() 函数。任何不能被转换为数值的值都会导致这个函数返回 true。

有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()。第一个函数即转型函数Number() 可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。

6. String 类型,即字符串。转换为字符串有两种方式: toString() 、String()。

数值、布尔值、对象、字符串值都有toString() 方法,但 null 和 undefined 值没有这个方法。

在不知道要转换的值是不是 null 或 undefined 的情况下,可以使用转型函数 String() 。

7. Object 类型。ECMAScript中的对象其实就是一组数据和功能的集合。创建Object类型的实例:var o = new Object();

重要思想:在ECMAScript中,Object 类型是所有它的的实例的基础。换句话说,Object 类型所具有的任何属性和方法也同样存在于更具体的对象中。

属性方法:constructor、hasOwnProperty()、isPrototypeOf()、toString()、valueOf()

四、 操作符

1. 一元操作符

递增和递减操作符:++a、--a、a++、a--

一元加和减:该操作符会像 Number() 转型函数一样对这个值执行转换。

2. 位操作符

3. 布尔操作符:非(!)、与(&&)、或(||)

4. 乘性操作符:乘法(*)、除法(/)、求模(%)。在操作数为非数值的情况下会执行自动的类型转换。后台会先使用 Number() 转型函数将其转换为数值。

5. 加性操作符:加法(+)、减法(-)。

加法:如果有一个操作数是对象、数值或布尔值,则调用它们的 toString() 方法取得相应的字符串值,然后再计算。

减法:如果有一个操作数是字符串、布尔值、null或undfined,则在后台调用 Number() 函数将其转换为数值,然后再计算。

6. 关系操作符:>、<、<=、>=

比较两个字符串时,实际比较的是对应位置的每个字符的字符编码值。在比较数值和字符串是,字符串都会被转换成数值,然后再以数值方式与另一个数值比较。任何操作数与NaN进行关系比较,结果都是false。

7. 相等操作符

相等和不相等(==、!=)——先转换再比较。

全等和不全等(===、!==)——仅比较而不转换。建议使用。

8. 条件操作符:var max = (num1  >  num2)  ?  num1  :  num2;

9. 赋值操作符:=

10. 逗号操作符:,

五、语句

1. if 语句

最常用,写法推荐使用代码块

2. do-while 语句

后测试循环语句。在对条件表达式求值之前,循环体内的代码至少会被执行一次。

3. while 语句

前测试循环语句。在循环体内的代码被执行之前,就会对出口条件求值。因此,循环体内的代码有可能永远不会被执行。

4. for 语句

前测试循环语句。具有在执行循环之前初始化变量和定义循环后要执行的代码的能力。最常用

5. for-in 语句

是一种精准的迭代语句,可以用来枚举对象的属性。

这个例子,使用 for-in 循环来显示了 BOM 中的 window 对象的所有属性(无顺序的)。建议在使用for-in 循环之前,先检测确认该对象的值不是null或undefined。

6. label 语句

7. break 和 continue 语句

8. with 语句

9. switch 语句

六、函数

使用 function 关键字来声明。未指定返回值的函数返回的是一个特殊的undefined值。函数参数是以一个包含零或多个值的数组的形式传递的。可以通过 arguments 对象来访问这些参数。

上一篇下一篇

猜你喜欢

热点阅读