短路现象:当这个&&||运算有确定结果后 , 后面的表达式不再执行
例子:逻辑运算符
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>逻辑运算符注意事项和使用细节</title><script type="text/javascript">//1. 在JavaScript语言中 , 所有的变量,都可以作为一个boolean类型的变量去使用//语法比较松散var name = "猫猫";var age = 900;var n = null;if (!n) {alert("你好你好你好你好你好...")}//2. 0,null,undefined , ""(空串)都认为是falseif (!(100 * "aaa")) {alert("hi~~~")}//3. &&且运算有两种情况:(即&&返回值是遵守短路与的机制)// - 当表达式全为真时,返回最后一个表达式的值// - 当表达式中,有一个为假的时候,返回第一个为假的表达式的值var res1 = "education" && 600;alert("res1=" + res1);//600var res2 = null && 600;alert("res2=" + res2);//null//4. ||或运算,有两种情况:(即||返回值是遵守短路或的机制)// - 当表达式全为假的时候 , 返回最后一个表达式的值// - 只要有一个表达式为真,就会返回第一个为真的表达式var res3 = null || 600;alert("res3=" + res3);//600var res4 = "你好" || 600;alert("res4=" + res4);//你好//5. &&运算和||运算有短路现象//短路现象:当这个&&||运算有确定结果后,后面的表达式不再执行var n1 = 1;var n2 = 3;//var res5 = n1++ || n2++;//alert("n1=" + n1 + " n2=" + n2);//n1=2 n2=3var res6 = (n1++ > 100) || n2++;alert("n1=" + n1 + " n2=" + n2);////n1=2 n2=4</script></head><body></body></html>
6.5条件运算符JavaScript还可以使用类似 Java的三元运算符如果条件表达式为true , 就返回第一个表达式的值;如果表达式为false,就返回第二个表达式的值
例子:条件运算符
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>条件运算符</title></head><body><script type="text/javascript">var res = (100 > 1) ? "kkkk" : 300;alert(res);//kkkk</script></body></html>
7.数组7.1数组定义在JavaScript中 , 数组的定义有四种方式<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>数组定义</title><script type="text/javascript">//数组定义方式一:var cars1 = ["Audi", "BMW", "Volvo", 100, null];//在JavaScript中 , 数组的数据类型可以不一致console.log("cars1=" + cars1);//cars1=Audi,BMW,Volvo,100,//可以通过下标索引来访问具体的元素(索引从0开始)console.log(cars1[0]);//Audiconsole.log(cars1[3]);//100//数组定义方式二:var cars2 = [];//空数组//再添加数据cars2[0] = "奥迪";cars2[1] = "奔驰";cars2[2] = "宝马";cars2[3] = 100;console.log("cars2=" + cars2);//cars2=奥迪,奔驰,宝马,100//如果该元素不存在,就返回undefinedconsole.log("cars2[100]=" + cars2[100]);//cars2[100]=undefined//数组定义方式三:var cars3 = new Array("Audi", "BMW", "Volvo");console.log("cars3=" + cars3);//cars3=Audi,BMW,Volvo//数组定义方式四:var cars4 = new Array();console.log(typeof cars4);//objectcars4[0] = "法拉利";cars4[1] = "保时捷";cars4[0] = "ZZ";//替换cars4[2] = "YY";////因为在创建的时候没有定义数组的大小,因此要扩容直接在数组里面添加数据即可cars4[8] = "红旗";//扩容,如果跳过了下标赋值,那么没有赋值的元素都为undefinedconsole.log("cars4[5]=" + typeof cars4[5]);//cars4[5]=undefinedconsole.log("cars4=" + cars4);//cars4=ZZ,保时捷,YY,,,,,,红旗</script></head><body></body></html>
文章插图
7.2数组遍历数组的类型是Object对象 , 具有length等属性,因此也能像 java一样,使用 for循环进行遍历
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>数组遍历</title><script type="text/javascript">var cars = ["Audi", "BMW", "Volvo", 100, 1.1,true];//遍历console.log("数组的长度="+cars.length);for (var i = 0; i < cars.length; i++) {console.log(cars[i]);//log方法会自动换行}</script></head><body></body></html>
文章插图