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>

猜你喜欢

转载自www.cnblogs.com/Mouse-hao/p/11553221.html