javascript基础(逻辑运算符)(九)

来源:互联网 发布:模拟炒股软件 编辑:程序博客网 时间:2024/06/05 00:53

有代码编写基础的,自学时请略过

1.逻辑与,逻辑或:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script type="text/javascript">/*! 逻辑非- 非可以对一个布尔值进行取反操作- true变成false,false变true- 如果为一个值取两次反和没取一样- 如果对一个非布尔值进行取反操作,它会将其转换为布尔值然后再运算- 利用这个特点,我们可以为任意的数据类型去两次反,来将其转换为布尔值,原理和Boolean()函数一样&& 逻辑与|| 逻辑或 *  * */var a = false;//a = !a;a = !!a;a = 1;/* * 为a取两次反,来将其转换为布尔值 */a = !!a;/*console.log("a = "+a);console.log(typeof a);*/var str = "hello";//转换为布尔值str = !!str;console.log("str = "+str);console.log(typeof str);</script></head><body></body></html>


<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script type="text/javascript">/* && - 逻辑与 - &&可以对符号两侧的值进行与运算 - 只有两端都是true时,才会返回true。只有有一个false就会返回false。  || - 逻辑或 - ||可以对符号两侧的值进行或运算 - 只要有一个true就会返回ture,如果两端都是false才会返回false  * *///两端都为true,则返回truevar result = true && true;//只要有一个false,就返回falseresult = false && true;result = true && false;result = false && false;//console.log("result = "+result);/* * JS中与运算是短路的与,如果第一个值是false,则不看第二个值 *///true && alert("看我出来不出来"); 第一个值为true,alert()会执行//false && alert("看我出来不出来"); 第一个值为false,alert()不会执行//两端都是false,则返回falseresult = false || false;//只要有一个true,就返回trueresult = true || false;result = false || true;result = true || true;//console.log("result = "+result);/* * JS中的或,是短路的或,如果第一个值为true,则不看第二个值 *///false || alert("看我出来不出来"); //第一个值为false,会看第二个true || alert("看我出来不出来"); //第一个值为true,不看第二个</script></head><body></body></html>

特殊类型:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><script type="text/javascript">/* 对于非布尔值,做与或运算时,它会先将其转换为布尔值,然后在运算 最终返回变量的原值!  - 非布尔值的与运算: 如果第一个值为false,则返回第一个。如果第一个值为true,则返回第二个  - 非布尔值的或运算 如果第一个值为true,则返回第一个。如果第一个值为false,则返回第二个   * *///true && true//如果两个值都为true,则返回后边的var result = 2 && 10; //10//如果两个值中有false,则返回靠前的false//false && trueresult = 0 && 1; //0//true && falseresult = 1 && 0; //0//false && falseresult = NaN && 0;result = "" && "hello";result = "你好" && null;//两个值中有ture,则返回靠前的true//true || trueresult = 1 || 2; //1result = 2 || 1; //2//false || trueresult = 0 || 2; //2//true || false result = 2 || 0; //2//两个值都是false,则返回后边的//false || falseresult = 0 || NaN; //NaNresult = NaN || 0; //0result = 1 || ""; //1result = undefined || "hello"; //helloconsole.log("result = "+result);</script></head><body></body></html>





0 0
原创粉丝点击