语法
1、 区分大小写。
2、 标识符:
a) 定义:
i. 变量、函数、属性名字,或者函数的参数。
b) 命名规则:
i. 由字母,数字,下划线,$组成。
ii. 不能以数字开头。
iii. 不能使用关键字、保留字等作为标识符。
c) 变量:
i. ECMAScript(JavaScript语法同于此)的变量是 松散类型。
- 松散类型:可以保存任何类型的数据。也可以说,每个变量仅仅是一个用于保存值的占位符而已。
ii. 声明与赋值: - 需要使用var操作符
a) 用法:Var 变量名 - 变量赋值
a) 声明的同时赋值:
i. Var name_01 = “marry”;
b) 先声明再赋值:
i. Var age;age = 18;
c) 多变量声明:
i. 变量之间用 ‘ , ’ 隔开。
d) 说明:
i. 省略var声明的变量是全局变量。
ii. 一般不常用省略var操作符来定义全局变量。
3、 数据类型:(变量本身没有类型,其类型取决于变量的值)
a)
b) Typeof()方法:(检测变量的类型)
i. 语法: typeof 变量 或 typeof(变量)
ii. 返回值:string 类型 但是值可以为其他类型
iii.
iv. 用法: - 运行结果:
c) Undefined:
i. 无定义的:当变量声明时没有赋值,此时这个变量就是undefined类型
d) Null:
i.
e) Number:
i. 数值类型:可为整形,可为浮点型。
ii. NaN: - 特殊的number。无法显示的数值类型。
- 任何涉及NaN的操作,都会返回 NaN。
- NaN跟任何值都不相等。(包括本身)
iii. isNaN()方法: - 判断一个参数是否为非数字。
- 返回类型是bool类型。
- 该方法会把接受到的值先尝试转换为数值类型,若id = “16“,此时console.log(isNaN(id)); 返回的值为false。但是id 的类型还是string
iv. parseInt()方法: - 将NaN强转为数值类型,并省略字符保留前端数字忽略前导0作为返回值。
- 用法:
a) 一个参数:parseInt(变量 或 “字符串“)(注意:”0x1“表示16进制1而不是字符串,但是”01“ 不表示8进制1而是忽略0返回1)
i. Eg:number img = “25px“;此时parseInt(img) == 25
ii. Eg:number img = “px25“;此时parseInt(img) == NaN
b) 两个参数:parseInt(变量 或 “字符串“,进制数)
i. 将前端数字经过相应进制数转换后返回。
v. parseFloat()方法: - 类比parseInt()
f) String:
i. 字符串类型:可以用 ““ 也可以用 ‘’ 。
ii. toString()方法: - 将str转换成string类型。
g) Boolean:
i. 布尔类型:返回值只有两种,true或false
ii. 除0或 ‘空‘(空表示什么都没有,空格都没有那种) 或null以外的所有强转布尔类型后返回值都为true
4、 操作符:
a) 表达式:
i. 将同类型的数据(常量、变量、函数等)通过运算符连接起来所表示的式子。
b) 分类:
i. 算术操作符:
-
- , - , * , / , % 返回值都为number
- ++a和a++
a) 优先于+,-,*,/
ii. 三元操作符: - 语法:条件? 代码1:代码2
iii. 赋值操作符: - +=,-=,*=,/=,%=
iv. 比较操作符: - 返回类型boolean
- 判断 值 是否相等,而=判断 值和类型 是否相等。
- !=判断 值 是否不相等,!==判断 值和类型 是否不相等。
v. 逻辑操作符: - &&与
a) 可以操作任何类型的操作数
b) Boolean的隐式转换:(注意返回值不一定是true或false)
i. 短路操作,遇到第一个假返回假的值或假的类型名后面不看:
结果为
结果为
结果为
- || 或
a) 短路操作,遇见第一个真返回真的值后面不看,全假返回最后一个假的值或类型名:
结果为
- ! 非
a) 无论操作数是什么类型,其结果返回值都为布尔值true或false
本文深入讲解了JavaScript的标识符规则、松散类型变量、数据类型(包括Undefined, Null, Number, String和Boolean)、各类操作符(算术、比较、逻辑),以及typeof和基本类型的转换。适合初学者理解JavaScript语法核心。

1295

被折叠的 条评论
为什么被折叠?



