数组
数组是值的有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组。数组元素的索引不一定要连续,元素之间可以有空隙,每个数组都具有一个lengrh属性。
数组定义
1: 常规方式: 定义一个空数组并通过索引来赋值
1 var myCars=new Array(); 2 myCars[0]="Saab"; 3 myCars[1]="Volvo"; 4 myCars[2]="BMW";
2: 简洁方式:
1 var myCars=new Array("Saab","Volvo","BMW");
3: 字面: 定义时直接给数组元素赋值
1 var myCars=["Saab","Volvo","BMW"];
数组的读写和长度
读写:使用[]操作符来访问数组中的一个元素。数组的引用位于方括号的左边。方括号中是一个返回非负整数值的任意表达式。使用该语法即可以读又可以写数组的元素,读取一般从0位开始,每个数组都有一个length属性,length属性值会大于元素个数。数组的长度会大于每一个元素的索引值。
1 var arr = [1, 2, 3, 4, 5]; 2 arr[1]; // 2 3 arr.length; // 5 4 arr[5] = 6; 5 arr.length; // 6
数组的追加和删除
Push()/unshift() 给数组元素的结尾/开始追加元素。
例:Color. Push()
1 window.onload = function(){ 2 3 var name = ['顾清秋','顾小白','sunny']; 4 name.push('gugu'); 5 console.log(name); // ["顾清秋", "顾小白", "sunny", "gugu"] 6 }
Pop()/shift()给数组元素的结尾/开始 元素给删除。
1 window.onload = function(){ 2 var name = ['顾清秋','顾小白'] 3 var newname = name.pop(); 4 console.log(newname); //'顾小白' 5 } 6 //默认移除最后一个元素
sort : 排序 注意:不识别中文
1 window.onload = function(){ 2 var name1 = ['alex','wusir','egon','eva']; 3 name1.sort(); 4 console.log(name1);//["alex", "egon", "eva", "wusir"] 5 }
运算符
要进行各种各样的运算,就要使用不同的运算符号。
运算符 = 用于给 JavaScript 变量赋值。
算术运算符 + 用于把值加起来。
部分常用运算符
(1)“%”取余运算符,两个数相除,取余数。
1 A = 10 % 3; // A = 1,如果余数不为0,则两个不能整除 2 A = 10 % 2; // A = 0,如果余数为0,则两个数能除尽
(2)“++”加1运算符、自加1
“++”可以作前缀(++i),也可以作后缀(i++)。
如果不赋值的话,i++和++i的结果是一样的。
如果要赋值的话,i++和++i的结果就不一样了;i++=i+1 后加一; ++i先加一。
(3)比较运算符:>、<、>=、<=、==、!=、===、!==
比较运算符的运算结果是布尔值(true或false)。
1 A = 10 > 20; // 结果A=false 2 A = 20>=20; // 结果A=true 3 A = 10%2 == 0; // 结果A=true 4 A = 10%2 == “0”; // 结果A=true 5 A = 10%3 != 0; // 结果A=true 6 A = 10%2 === “0”; //结果A=false
“=”是赋值号。如:a = 10
“==”等于。只比较两个变量的值,而不管类型。
“===”全等于。既比较变量,也判断类型。
(4)逻辑运算符:&&、||、!
逻辑运算符的运算结果有两个true或false。
“&&”逻辑与(并且关系)。如果左右两个操作数都为true,则结果为true,否则,结果为false。
逻辑与,就是两个条件同时满足时,则结果为true。
“||”逻辑或。左右两个条件,只要有一个满足,则返回true,否则,返回false。
“!”取反运算。!true = false 、 !false = true 、 !100 = false
(5)三元运算符:?:
所谓“三元运算符”就是指三个操作数。
语法:条件表达式 ? 结果1 : 结果2
语法:操作数1 ? 操作数2 : 操作数3
含义:如果条件为true,则执行“结果1”的代码;如果条件为false,则执行“结果2”的代码。
其实:三元运算符,就是if else的变形形式。