3.5、运算符
JavaScript 提供了如下的运算符:(大部分和 Java语言 都是一样的,不同的是 JS 关系运算符中的 == 和 ===)
一元运算符:++,--
算术运算符:+,-,*,/,%
赋值运算符:=,+=,-=…
关系运算符:>,<,>=,<=,!=,==,===…
逻辑运算符:&&,||,!
三元运算符:条件表达式 ? true_value : false_value
3.5.1、==和===
==:
1. 判断类型是否一样,如果不一样,则进行类型转换
2. 再去比较其值
===(js 中的全等于):
1. 判断类型是否一样,如果不一样,直接返回false
2. 再去比较其值
代码:
var age1 = 20;
var age2 = "20";
alert(age1 == age2);// true
alert(age1 === age2);// false
3.5.2、类型转换
在 == 运算符中,发现会进行类型转换。
JavaScript 中的类型转换:
①其他类型转为number
②其他类型转为boolean
3.5.2.1、其他类型转为number
string 转换为 number 类型:
①按照字符串的字面值,转为数字。
②如果字面值不是数字,则转为NaN
将 string 转换为 number 有两种方式:
①使用 + 正号运算符:
var str = +"20";
alert(str + 1) //21
②使用 parseInt() 函数(方法):
var str = "20";
alert(parseInt(str) + 1);
建议使用 parseInt() 函数进行转换
boolean 转换为 number 类型:true 转为1,false转为0
var flag = +false;
alert(flag); // 0
3.5.2.2、其他类型转为boolean
①number 类型转换为boolean:
0和NaN转为false
其他的数字转为true
②string 类型转换为boolean
空字符串转为false
其他的字符串转为true
③null类型转换为boolean:false
④undefined 转换为boolean:false
3.6、流程控制语句
JavaScript 中提供了和 Java 一样的流程控制语句,如下
if
switch
for
while
dowhile
3.7、函数
函数(就是Java中的方法)是被设计为执行特定任务的代码块;
JavaScript 函数通过 function 关键词进行定义。
3.7.1、定义格式
函数定义格式有两种:
方式一:
方式二:
3.7.2、函数调用
4、常用对象
JavaScript 提供了很多对象供使用者来使用。
这些对象总共分类三类:
基本对象
BOM对象(Browser Object Model)
DOM对象(Document Object Model)
4.1、基本对象
4.1.1、Arrary对象
JavaScript Array对象用于定义数组。
数组的定义格式有两种:
方式一:var 变量名 = new Array(元素列表);
方式二:var 变量名 = [元素列表];
注意:Java中的数组静态初始化用的是{}定义,而JavaScript中使用的是[]定义
元素访问:
访问数组中的元素和 Java 语言的一样,格式如下:arr[索引] = 值;
4.1.1.1、特点
JavaScript 中的数组相当于 Java 中集合。数组的长度是可以变化的,而 JavaScript 是弱类型,所以可以存储任意的类型的数据。
例如如下代码:
显示效果:
可以看到,因为可以任意边长,即直接赋值第十位的数据,但是前面并没有数据,所以前面的数据会自动转换为空值。
4.1.1.2、属性
Array 对象提供了很多属性,如下图是官方文档截取的
有了length属性,就可以动态获取数组的长度。
4.1.1.3、方法
Array 对象同样也提供了很多方法,如下图是官方文档截取的
下面着重说一下push函数和splice函数:
push 函数:给数组添加元素,也就是在数组的末尾添加元素。参数表示要添加的元素
splice 函数:删除元素
参数1:索引。表示从哪个索引位置删除
参数2:个数。表示删除几个元素