js操作符总结

时间:2023-12-09 23:04:37

算数操作符
加法操作符(+),减法操作符(-),除法操作符(/),乘法操作符(*)
还可以把多种操作组合在一起:1+4*5
避免产生歧义,可以用括号把不同的操作分隔开来:1+(4*5);(1+4)*5
变量可以包含操作:

var total = (1+4)*5;

还可以对变量进行操作:

var temp_fahrenheit = 95;
var temp_celsius = (temp_fahrenheit - 32)/1.8;

js提供了一些非常有用的操作符作为各种常用操作的缩写。例如,想给一个数值变量加上1,
可以使用如下所示语句:

year = year +1;

也也已使用++操作符来达到同样的目的:

year++;

--操作符也可以对一个数值变量进行减1操作。
加号(+)是一个比较特殊的操作符,既可以用于数值,也可以用于字符串。把多个字符串
首尾相连在一起的操作叫做拼接(concatenation)。

var message = "I am feeling" + "happy";

这种拼接也可以通过变量来完成:

var mood = "happy";
var message = "I am feeling" + mood;

甚至可以把数值和字符串拼接在一起。因为js是一种弱类型语言,所以这种操作是允许的。
此时,数值将被自动转换为字符串:

var year = 2010;
var message = "The year is" + year;

另一个非常有用的快捷操作符是+=,它可以一次完成“加法和赋值”(或“拼接和赋值”)
操作:

var year = 2010;
var message = "The year is ";
message += year;
alert(message);

输出结果是The year is 2010

比较操作符:
比较两个值是否相等,可以使用"等于"比较操作符。(==);
单个等号(=)用于完成赋值。
示例:

var my_mood = "happy";
var your_mood = "sad";
if(my_mood = your_mood)
{
alert("We both feel the same.");
}

上面语句并没有完成比较操纵,而只是把your_mood赋值给变量my_mood。
正确的语句应该使用比较操作符(==);

var my_mood = "happy";
var your_mood = "sad";
if(my_mood == your_mood)
{
alert("We both feel the same.");
}

js还可以使用”不等于“比较操作符(!=)。

if(my_mood != your_mood)
{
alert("We're feeling different moods.");
}

还有!相等操作符(==)并不表示严格相等(===),用相等操作符(==)比较一个false与一个空字符串
其结果是一样的,因为相等操作符(==)认为空字符串与false含义是一样的。要进行严格比较,就要
使用严格相等(===);这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型:

var a = false;
var b = "";
if(a === b)
{
alert("a equals b");
}

全等操作符会认为false与空字符串不是同一种类型。对于不等操作符!=也是如此。想要比较严格不相等
就要使用!===。

逻辑操作符:
逻辑操作符的操作对象是布尔值。每个逻辑操作数返回一个布尔值true或者是false。

”逻辑与“操作符,由两个”&“字符构成(&&),是一个逻辑操作符。”逻辑与“
操作只有在它的两个操作数都是true时才会是true。

if(num >= 5 && num <= 10 )
{
alert("The number is in the right range.");
}

”逻辑或“操作符由两个垂直直线字符构成(||)。只要它的操作数中有一个是true,
”逻辑或“操作就将是true。如果它的两个操作数都是true,”逻辑或“操作也
将是true。只有当它的两个操作数都是false时,”逻辑或“操作才会是false。

if(num > 10 || num < 5 )
{
alert("The number is in the right range.");
}

”逻辑非“操作符,它由一个感叹号(!)单独构成。”逻辑非“操作符只能作用于
单个逻辑操作数,其结果是把那个逻辑操作数所返回的布尔值取反。如果那个逻辑操
作数所返回的布尔值是true,”逻辑非“操作符将把它取反为false:

if( !(1>2) )
{
alert("All is well with the world");
}

可以用”逻辑非“操作符把整个条件语句的结果颠倒过来。
以下例子使用一对括号来确保”逻辑非“操作符将作用于两个逻辑操作数的组合结果:

if( !(num>10 || num<5) )
{
alert("The number IS in the right range.");
}