JS:运算符
Posted mouse-hao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS:运算符相关的知识,希望对你有一定的参考价值。
JavaScript运算符
JavaScript赋值元素符
赋值运算符用于向javascript变量赋值
运算符 | 例子 | 等同于 | 描述 |
= | x = y | x = y | 赋值运算符向变量赋值 |
+= | x += y | x = x + y | 赋值运算符向变量添加值 |
-= | x -= y | x = x - y | 赋值运算符从变量中减去一个值 |
*= | x *= y | x = x * y | 赋值运算符相乘变量 |
/= | x /= y | x = x / y | 赋值运算符对变量相除 |
%= | x %= y | x = x % y | 赋值运算符把余数赋值给变量 |
注:JS中还有其他赋值运算符,只是不常用,就不写出来了
例1:
<!DOCTYPE html> <html> <body> <h1>= 运算符</h1> <p id="demo"></p> <p id="demo_1"></p> <p id="demo_2"></p> <p id="demo_3"></p> <p id="demo_4"></p> <p id="demo_5"></p> <script> var a = 7; document.getElementById("demo").innerHTML = a; var b = 7; b += 8; document.getElementById("demo_1").innerHTML = b; var c = 7; c -= 8; document.getElementById("demo_2").innerHTML = c; var d = 7; d *= 8; document.getElementById("demo_3").innerHTML = d; var e = 7; e /= 8; document.getElementById("demo_4").innerHTML = e; var f = 7; f %= 8; document.getElementById("demo_5").innerHTML = f; </script> </body> </html>
JavaScript算数运算符
算数运算符用于对数字执行算数运算
运算符 | 描述 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ |
除法 |
% | 系数 |
++ | 递加(Python中没有递加) |
-- | 递减(Python中没有递减) |
JavaScript字符串运算符
1、+运算符也可用于对字符串进行相加(concatenate级联)(python中的字符串拼接)
2、+=赋值运算符也可用于相加(级联)字符串(python也支持这种写法)
例2:
<!DOCTYPE html> <html> <body> <p>+ 运算符串联(相加)字符串。</p> <p id="demo"></p> <p id="demo_1"></p> <script> var txt1 = "Bill"; var txt2 = "Gates"; document.getElementById("demo").innerHTML = txt1 + " " + txt2; txt3 = "Hello "; txt3 += "Kitty!"; document.getElementById("demo_1").innerHTML = txt3; </script> </body> </html>
例2_1:
string = "aa" string += "bb" print(string) #aabb
JavaScript比较运算符
1、比较运算符可用在条件语句中对值进行比较,并根据结果采取动作
2、在python中等于比较符(==)是值和类型一起判断的,如:5 == "5"返回的是false,但是在JS中有"=="和"==="
运算符 | 描述 | 比较 | 返回 |
== | 等于(只判断值,不判断类型) |
5 == 8 5 == 5 5 == "5" |
false true true |
=== | 值相等并且类型相等 |
5 === 5 5 === "5" |
true false |
!= | 不相等 | 5 != 8 | true |
!== | 值不相等或类型不相等 |
5 !== 5 5 !== "5" 5 !== 8 |
false true true |
> | 大于 | 5 > 8 | false |
< | 小于 | 5 < 8 | true |
>= | 大于或等于 | 5 >= 8 | false |
<= | 小于或等于 | 5 <= 8 | true |
? | 三元运算符 |
注:条件(三元)运算符
JavaScript也包含了可基于某些条件向变量赋值的条件运算符
语法
variablename = (condition) ? value1:value2
实例
var voteable = (age < 18) ? "太年轻":"足够成熟";
比较不同的类型
比较不同类型的数据也许会出现不可预料的结果。如果将字符串与数字进行比较,那么在做比较时JavaScript会把字符串转换为数值。空字符串将被转换为0。非数值字符串将被转换为始终为false的NaN
案例 | 值 |
2 < 12 | true |
2 < "12" | true |
2 < "John" | false |
2 > "John" | false |
2 == "John" | false |
"2" < "12" | false |
"2" > "12" | true |
"2" == "12" | false |
注:
1、为了确保正确的结果,在比较值前应该把变量转换为合适的类型
2、在python中数字类型是不能与字符串类型直接进行比较的,但字符串类型可以与字符串类型比较,比较顺序为1-9,a-z
例3:
<!DOCTYPE html> <html> <body> <h1>JavaScript 比较</h1> <p>请输入您的年龄然后点击按钮:</p> <input id="age"/> <button onclick="myFunction()">试一试</button> <p id="demo"></p> <script> function myFunction() var age, voteable; age = Number(document.getElementById("age").value); if (isNaN(age)) voteable = "输入值不是数字"; else voteable = (age < 18) ? "好年轻" : "够成熟"; document.getElementById("demo").innerHTML = voteable; </script> </body> </html>
注:
上面例子中"?"为三目运算符,格式为:(条件)? "Yes" : "No"(将两个判断条件写在一个语句里面)
例3_1:
number = input("----->") age = "18" if number.isdigit() == False: print("输入值不是数字") else: if number > age: print("够成熟") elif number < age: print("好年轻") """ number = input("----->") age = 18 if number.isdigit() == False: print("输入值不是数字") else: if int(number) > age: print("够成熟") elif int(number) < age: print("好年轻") """
注:
上面例子是用python中来实现的,需要注意几点:
1、在python中input()函数返回的数据类型为字符串,所以一般情况下会用int(input())等写法来将输入的数据转为整形等,
2、但是用户的数据可能是字符串类型也可能数字类型,假如用户输入的是"aa"这种数据,使用int(input())这种写法就会报错(python中int()方法只能将数字字符串转为数字类型),所以不能写成int(input()),只能在后面进行判断。
另,默认值18为数字类型时,则需要使用int()方法将输入的数据转为整形,如果默认值为"18"时,则不需要将输入的数字进行转化,直接使用字符串与字符串比较就可以了
JavaScript逻辑运算符
1、与(&&)两边都为true时,返回true;只要有一边为false,就返回false
2、或(||)两边都为false时,返回false;只要有一边为true,就返回true
3、非(!)表示返回相反的结果
4、在python中用and表示与,用or表示或,用no表示非,但其用法与js一致
运算符 | 描述 | 例子 |
&& | 与 | (6 < 10 && 3 > 1)为true |
|| | 或 | (6 == 5 || 3 == 5)为false |
! | 非 | !(6 == 3)为true |
JavaScript类型运算符
运算符 | 描述 |
typeof | 返回变量的类型 |
instanceof | 返回true,如果对象是对象类型的实例 |
字符串和数字的相加
1、相加两个数字,将返回和,但对一个数字和一个字符串相加将返回一个字符串
2、在python中字符串是不能直接与数字相加的,只能先将数字转为字符串后再进行相加
例3_2:
<!DOCTYPE html> <html> <body> <h1>JavaScript 运算符</h1> <p>对数字和字符串相加,会返回字符串。</p> <p id="demo"></p> <script> var x = 7 + 8; var y = "7" + 8; var z = "Hello" + 7 + 2;//先进行的字符串相加,后面就同一认为是字符串加法 var a = 1 + 2 + "hello"//这种是先进行加法,再进行字符串相加 document.getElementById("demo").innerHTML = x + "<br>" + y + "<br>" + z + "<br>" + a ; </script> </body> </html>
以上是关于JS:运算符的主要内容,如果未能解决你的问题,请参考以下文章