ECMAScript 赋值运算符

赋值 = 
JavaScript中=代表赋值,两个等号==表示判断是否相等
例如,x=1表示给x赋值为1
if (x==1){...}程序表示当x与1相等时
if(x==“on”){…}程序表示当x与“on”相等时
 配合其他运算符形成的简化表达式
例如i+=1相当于i=i+1,x&=y相当于x=x&y

实例:

2 == “2”        
2 === “2”        
4 != “4”            
4 !== “4”        

var a = 2; var b = 4;
var c = a<b | --b>--a;
var c = a<b || --b>--a; 
var c = a<b &&--b>--a;
var c = a<b & --b>--a; 

ECMAScript等性运算符
执行类型转换的规则如下:

如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
在比较时,该运算符还遵守下列规则:

值 null 和 undefined 相等。
在检查相等性时,不能把 null 和 undefined 转换成其他值。
如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

ECMAScript 关系运算符(重要)

var bResult = "Blue" < "alpha";
alert(bResult); //输出 true  

在上面的例子中,字符串 "Blue" 小于 "alpha",因为字母 B 的字符代码是 66,字母 a 的字符代码是 97。

比较数字和字符串

另一种棘手的状况发生在比较两个字符串形式的数字时,比如:

var bResult = "25" < "3";
alert(bResult); //输出 "true"

上面这段代码比较的是字符串 "25" 和 "3"。两个运算数都是字符串,所以比较的是它们的字符代码("2" 的字符代码是 50,"3" 的字符代码是 51)。

不过,如果把某个运算数该为数字,那么结果就有趣了:

var bResult = "25" < 3;
alert(bResult); //输出 "false"

这里,字符串 "25" 将被转换成数字 25,然后与数字 3 进行比较,结果不出所料。

总结:

比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.
比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.

Boolean运算符(重要)

var temp=new Object();// false;[];0; null; undefined;object(new Object();)

    if(temp){
        console.log("yuan")
    }else {
        console.log("alex")
    }

全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。

 

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    alter(2==2);

</script>

</body>
</html>

点击pycharm上面浏览器

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    alert(2==2);
    alert(2=="2");

</script>

</body>
</html>

点击pycharm上面浏览器

 

继续点击确认

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    alert(2==2);
    alert(2=="2");
    alert(2==="2");
    

</script>

</body>
</html>

点击pycharm上面浏览器

 

继续点击确认

继续点击确认

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    // alert(2==2);
    // alert(2=="2");
    // alert(2==="2");

    alert(25<3);
    // alert("25"<"3");
    
    

</script>

</body>
</html>

点击pycharm上面浏览器

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    // alert(2==2);
    // alert(2=="2");
    // alert(2==="2");

    alert(25<3);
    alert("2566545"<"3");
    
    

</script>

</body>
</html>

点击pycharm上面浏览器

继续点击确认

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    // alert(2==2);
    // alert(2=="2");
    // alert(2==="2");

    // alert(25<3);
    alert("ba2566545"<"ab3");
    
    

</script>

</body>
</html>

点击pycharm上面浏览器

修改js_operation.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // var a=1;
    // var b = a++;    //a+=1,a=a+1,先赋值再计算,b=1,a=2;
    // var b = ++a;    //先计算再赋值,a=2,b=2;
    // alert(b);
    // alert(a);

    // var x = 1;
    // alert(x++); //  1
    // alert(++x); //  3
    // alert(--x); //  2
    // alert(x--); //  2
    // alert(x)    // 1

// 一元加减法

    // var a = 3;
    // var a = "3";
    // var a = "3.2"
    // var a = "123a456"
    // var a = "123a"
    // var a = "a123"
    
    // b = +a;

    // b = -a;
    // alert(b)
    // alert(typeof(b))

// &&逻辑与
    // 1 && 0   ----> 0
    // 0 && 1   ----> 0
    // 0 && 0   ----> 0
    // 1 && 1   ----> 1

// ||逻辑或
    // 1 || 0   ----> 1
    // 0 || 1   ----> 1
    // 0 || 0   ----> 0
    // 1 || 1   ----> 1

// !非

    // var a = 1;
    // if (a < 10 && a > 0){
    //     ++a;
    //     alert(a)
    // }

    // if (null && true){
    //     aler(1);
    // }

    // if (new Object){
    //     alert(1);
    // }

    // if (true && new Object){
    //     alert("hello")
    //     }
    
    // 3<<2

    // 00001100 = 12

    // 00001100>>1 = 00000110 = 6

    // alert(3<<2);
    // alert(12>>1);

    // 1 & 2
    // 0000 0001
    // 0000 0010
    // 0000 0000

    // 1 | 2
    // 0000 0011

    // ^1
    // 0000 0001
    // 1111 1110

    // 异或
    // 0000 0001
    // 0000 0010
    // 0000 0011


    // 同或
    // 0000 0001
    // 0000 0010
    // 1111 1100

    // if (true & true){
    //     alert("hello")
    // }

    // if (1 & 2){
    //     alert("hello")
    // }

    // alert(2==2);
    // alert(2=="2");
    // alert(2==="2");

    // alert(25<3);
    // alert("ba2566545"<"bab3");
    alert("25"<3)
    
    

</script>

</body>
</html>

点击pycharm上面浏览器