js基础从入门到精通_18JS非布尔值的&&与,||或运算

144 阅读1分钟
		js基础从入门到精通_18JS非布尔值的&&与,||或运算
        /* 
		 * && 与 || 或  非布尔值的情况
		 *   && 与运算
		 * 		 对于非布尔值进行 与 或 运算时
		 * 		 会先将其转换为布尔值,然后再运算,并且返回原值
		 * 		 如果第一个值为 true 则返回第二值 (原值)
		 * 		 如果第一个值为false 则直接返回第一个值(原值)
		 * 	 || 或运算
		 * 		 如果第一个值为 false 则返回第二值 (原值)
		 * 		 如果第一个值为true 则直接返回第一个值(原值)
		 * */
		 // true && true 
		 // 与 运算 如果两个值都是 true 则返回 后面的值
		 var a = 1 && 2; // 返回2
			 a = 3 && 2;// 返回2
			 
			 
		//如果两个值中有false,则返回靠前的 false
		 //false &&  true
			 a = 0 && 2; //0
			 a = 2 && 0; //0
		//false && false 
			 a = NaN && 0; //NaN
			 a = 0 && NaN; //0
		
		  console.log( "a = "+ a);
		  console.log( typeof a);
		  
		  
		  // ||或运算符
		  // true || true
		  //如果第一个值是true 则直接返回第一个值
			var b = 1||2;
				b = 1||NaN;
				b = 1||0;
		  //如果第一个值是false 则直接返回第二个值
				b = NaN||1;
				b = 0  ||1;
		  
		  console.log("b ="+ b);
		  console.log(typeof b);
		  
			var c = "" || "hello"
			
			console.log("c ="+ c);
			console.log(typeof c);