一.控制语句
1.控制表达式
var a=4, b=3, c="3", d=5;
if (a >= b)
a++ //a = 5
if (b == c) //结果为true, 先把c转换为数值型再比较
a++ //a = 6
if (c != d) //结果也为ture
a++ //a = 7
if (b === c) //这里为严格等号, 此处b和c不同类型,结果为false,
a++ //对应严格不等号是 !==
else
a-- //a = 6
2.循环语句
var sum = 0, count;
for (var count = 0; count <=10; count++)
sum += count
count = 0;
while (count <=10)
sum += count
二.数组
1.创建数组对象
注意:js中数组的元素不一定是同一种数据类型
方式一:
var list = new Array(100);//创建长度为100的数组
list[0] = 1
list[1] = "me"
list[2] = new Car("Ford", "V6")
list[99] = true
alert(list.length);//打印数组长度
方式二:
var my_list = new Array(1, 2, "three", "four");
方式三:
var my_list = [5,2,"six","four"];//方括号, 不要与C++的大括号混淆
2.数组的遍历
var list = [1, 2, "three", "four"];
//方法1:
for (var i=0; i<list.length; i++)
console.log(list[i])
//方法2:
for (var i in list)
console.log(list[i])
//方法3:(ES5)
list.forEach(function(element){
console.log(element)
});
//方法4:(ES6)
for (var v of list) console.log(v)
//方法5:forEach+箭头函数
list.forEach(v => console.log(v))
3.数组方法(部分)
1.join()
var names = ["Mary", "Murray", "Murphy", "Max"]
var name_string = names.join(" : ")
//join方法把数组每个元素连起来
//name_string="Mary : Murray : Murphy : Max"
2.sort()
names.sort();
//数组元素排序
//排序结果:name=["Mary", "Max", "Murphy", "Murray"]
3.slice()
var list = [1, 3, 5, 7, 9, 11, 13]
var list2 = list.slice(1, 5) //取下标是[1, 5)的元素
alert(list2) //显示3, 5, 7, 9
var list3 = list.slice(4) //取下标4以后的元素
alert(list3) //显示9, 11, 13
var [one, ,three] = list //ES6, one=1, three=3
4.concat()
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
//array3 = ['a', 'b', 'c','d', 'e', 'f']
5.copyWithin()
从数组的指定位置拷贝元素到数组的另一个指定位置中
6.entries()
返回Iterator对象
7.every()
测试所有元素是否都能通过某个指定函数的测试
8.fill()
用固定值填充数组指定位置
9.indexOf()
返回数组元素所在位置
4.数组可以当栈或者队列使用
var colors = [];//创建数组长度为0
colors.push("red")
colors.push("blue", "green")
alert(colors.length) //数组长度为3
var item = colors.pop()//item="green"
alert(colors.length)
//如果应用为队列, 就使用shift
var item = colors.shift()
colors.unshift("pink","yellow")
//移除第一个元素,其他元素移动一位,头部插入新元素