Js学习笔记_02 (运算符)
2018-11-01 本文已影响0人
郁葱的六月地木子树
Js的运算符
- JavaScript 算术运算符(+ ,-, *, /, %, ++, --)
1.取模运算的结果符号只与左边值的符号有关
var x = 7 % 3; // 结果为 1
var y = 7 % (-3); // 结果为 1
var z = (-7) % 3; // 结果为 -1
如果 % 左边的操作数是正数,则模除的结果为正数或零;
如果 % 左边的操作数是负数,则模除的结果为负数或零。
- JavaScript 赋值运算符 (= ,+= ,-=,*=,/=,%=)
- JavaScript 比较运算符 (== ,===,!= ,!==,> ,< ,<= ,>= )
- 用于字符串的 + 运算符
<script>
function myFunction()
{
txt1="What a very ";
txt2="nice day";
txt3=txt1+txt2;
document.getElementById("demo").innerHTML=txt3;
}
</script>
//结果为What a very nice day 注意very后面是有空格的
1.对字符串和数字进行加法运算
<script>
function myFunction()
{
var x=5+5;
var y="5"+5;
var z="Hello"+5;
var demoP=document.getElementById("demo");
demoP.innerHTML=x + "<br>" + y + "<br>" + z;
}
</script>
//结果为10 55 Hello5
2.数字和布尔值相加,布尔值 false 转成 0,true 转成 1
var one=13;
var two=true;
var three=one+two;
// 结果 three:14
3.字符串与布尔值相加,布尔值转化成字符串。
4.字符串与 null(空值) 相加,null 转化为字符串:
var car=null+"a"; // 结果为 nulla
5.数字与 null(空值) 相加,null 转化为数字 0:
var car=null+3+4; // 结果为7
- 逻辑运算符(&& ,|| ,!)
首先说明,其他数据类型转换为布尔类型的规则: null、undefined、0、NaN、空字符串转换为false,其他转化为 true。
1.取反
<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;
console.log(!""); //true
console.log(!d); //true
console.log(!a); //false
console.log(!b); //false
console.log(!obj); //false
</script>
2.逻辑与
JavaScript 中逻辑与和其他语言不太一样,如果第一个操作数是 true(或者能够转为 true),计算结果就是第二个操作数,如果第一个操作数是 false,结果就是 false(短路计算),对于一些特殊数值不遵循以上规则。(个人理解为:如果运算的第一个操作数为true,则返回第二个操作数,反之则返回第一个操作数)
<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;
console.log(true && 10); //第一个操作数是true,结果是第二个操作,也就是10
console.log(false && b); //第一个操作数是false,结果flase
console.log(100 && false); //第一个操作数是100,结果flase
console.log(undefined && false); //第一个操作数是undefined,结果undefined
console.log(NaN && false); //第一个操作数是NaN,结果NaN
console.log(null && false); //第一个操作数是null,结果null
console.log('' && false); //第一个操作数是空串,结果空串
console.log(0 && 100); //结果是0
console.log(5 && 100); //100
console.log(a && b); //hello
console.log(obj && 200); //200
</script>
1.逻辑或
如果第一个操作数不是 false,结果就是第一个操作数,否则结果是第二个操作数。如果第一个操作数能够转为 true,结果就是第一个操作数(个人理解为:如果运算的第一个操作数为 true,则返回第一个操作数,反之则返回第二个操作数)
<script type="text/javascript">
var a = [1,2,3];
var b = "hello";
var obj = new Object();
var d;
console.log(true || 10); //第一个操作数是true,结果是第一个操作,也就是true
console.log(false || b); //第一个操作数是false,结果是第二个操作数b
console.log(100 || false); //第一个操作数是100,结果100
console.log(undefined || 9); //第一个操作数是undefined转false,结果9
console.log(NaN || false); //第一个操作数是NaN转false,结果第二个操作数
console.log(null || a); //第一个操作数是null转false,结果a
console.log('' || false); //第一个操作数是空串转false,结果第二操作数
console.log(0 || 100); //结果是100
console.log(5 || 100); //5
console.log(a || b); //a
console.log(obj || 200); //obj
</script>