2.6.运算符
比较运算符:
== 比较值
1 == "1" true
=== 比较值与类型
1 === "1" false
2.7.控制语句
2.7.1.选择
1.单选择
2.双选择
3.多选择
4.switch结构
2.7.2.循环
1.while
2.do......while
3.for
4.死循环
5.break与continue
2.8.数组
2.8.1.数组定义
1.隐式定义:
var 数组名 = [];//空数组
var 数组名 = [值1,值2,值3...];
2.直接化定义
var 数组名 = new Array(值1,值2,值3...);
3.定义数组并设置长度
var 数组名 = new Array(size);
2.8.2.基本操作
数组的下标从0开始(不会出现越界)
获取数组指定下标的值:(如果下标不存在,则undefined)
数组名[下标];
设置数组指定下标的值:(如果下标不存在,则自动扩容)
数组名[下标] = 值;
获取数组的长度:
数组名.length;
设置数组的长度:
数组名.length = 值;
var arr3 = new Array(1,2,3);
//设置数组的属性
arr3.name = "zhangsan";
console.log(arr3);//[1, 2, 3, empty × 2, name: 'zhangsan']
arr3["pwd"] = "123456";
console.log(arr3);// [1, 2, 3, empty × 2, name: 'zhangsan', pwd: '123456']
//获取数组属性
console.log(arr3["name"]);//zhangsan
了解:如果设置非整数型的下标,则会成为数组的属性,不计入数组的长度
设置属性:
1.数组名.属性名 = 值;
2.数组名["属性名"] = 值;
获取属性:
1.数组名.属性名;
2.数组名["属性名"];
2.8.3.数组遍历
数组的遍历即依次访问数组的每一个元素,JS提供三种遍历数组的方式:
1.for循环遍历
for (var index = 0; index <数组长度; index++>){
}
相当于java中的
for(int index = 0; index <数组长度; index++>){
}
2.for...in
for(var下标名 in 数组){
}
3.forEach
数组.forEach(function(element,index){
//element 元素
//index 下标
});
了解:
数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。如果下标:
1.为非负整数(包括整数字符串):自动从0开始,不存在添加 undefined
2.为负数、小数、非数字符串:这些内容不计算在长度内,当成“属性”处理,相当于自定义属性。
数组非常灵活,使用数组元素
1.下标:非负整数(包括整数字符串):
数组.下标
数组[下标]
2.下标:负数、小数、非数字字符串:
数组[属性]
注意:
for --> 不遍历属性
foreach -->不遍历属性和索引中的undefined for in -->不遍历索引中的undefined
2.8.4.数组提供的操作方法
Array对象为我们提供了一些方法,可以很方便地操作数组
push 添加元素到最后
indexOf 数组元素索引
split字符串方法 将字符串转化成数组
join 数组转成字符串
unshift 添加元素到最前
pop 删除最后一项
shift 删除第一项
reverse 数组翻转
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并
2.9.函数
函数,即方法。就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值。函数也是对象。
2.9.1.函数的定义
有三种函数定义的方式:函数声明语句、函数定义表达式、Function构造函数
1.函数声明语句
function 函数名([参数列表]){
}
2.函数定义表达式
var 变量名/函数名 = function([参数列表]){
}
3.Function构造函数(了解)
var 函数名 = new Function([参数列表],函数体);
2.9.2.函数的参数
函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部数据就叫参数,定义时的参数称为形参,调用时的参数称为实参
·实参可以省略,那么对应形参为undefined。
·若函数形参同名(一般不会这么干),在使用时以最后一个值为准。
·可以给参数默认值:当参数为特殊值时,可以赋予默认值。
•参数为值传递,传递副本;参数是引用传递,则传递的是地址,操作的是同一个对象。
2.9.3.函数的调用
1.常用调用方式
函数名([参数列表]);
2.函数调用模式(函数有返回值)
var 变量名 = 函数名([参数列表]);
3.方法调用模式
对象.函数名([参数列表]);
2.9.4.return
函数的执行可能会有返回值,需要使用return语句将结果返回。return语句不是必需的,如果没有的话,该函数就不返回任何值,或者说返回undefined。
作用:
1.在没有返回值的方法中,用来结束方法。(如果方法没有返回值,使用return,返回的是undefined)
2.有返回值的方法中,一个是用来结束方法,一个是将值带给调用者。
2.9.5.函数的作用域
在JS中,只有函数有作用域
1.在函数中,存在局部变量和全局变量
2.在函数中,如果声明变量时未使用var修饰符,则该变量是全局变量