发表于: 2020-03-26 23:13:18

0 1531


一、今天完成的事情


逻辑运算符:

/*
* 逻辑运算符
* JS中为我们提供了三种逻辑运算符
* ! 非
* -!可以用来对一个值进行非运算
* 所谓非运算就是指对一个布尔值进行取反操作
* true变false,false变true
* - 如果对一个值进行两次取反,他的值不会变化
* -如果对非布尔值进行运算,他会转换为布尔值,再进行取反
* 所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值 !!
* 可以为一个任意数据类型取两次反,来将其转换为布尔值。原理和Boolean()函数一样
* && 与
* - && 可以对符号两侧的值进行与运算并返回结果;and的意思
* -运算规则
* -两个值中只要有一个值为false,则返回false,只有两个都为true,则会返回true
* -JS 中的“与”属于短路的与,如果第一个值为false,则不会看第二个值
*
* || 或
* - || 可以对符号两侧的值进行或运算,并返回结果
* - 运算规则
* -两个值中只要有一个true,则返回true
* 如果两个值都为false,才返回false
* -JS 中的“或”属于短路的或,类似于“与”,如果第一个值为true,则不会检查第二个值。
*
*
*
* */
var a = true;
//对 a 进行非运算
a = !a;
console.log("a = "+ a );
var b = 10;
//其他数据类型非运算,先转换为布尔值,再进行取反
b = !b;
console.log("b = "+ b );
console.log(typeof b);
var result1 = true && true;
//与运算,如果两端都是true,则返回true
console.log("result1 = " + result1);
var result2 = true && false;
//与运算,只要有一个值为false,输出结果为false
console.log("result2 = " + result2);
var result3 = false && false;
//与运算,只要有一个值为false,输出结果为false
console.log("result3 = " + result3);
true && alert("你看我出不出来!");//第一个值为true,会检查第二个值
false && alert("你看我出不出来呢!");//第一个值为false,不会检查第二个值
var result4 = false || false;//两个都是false,则返回false
console.log("result4 = " + result4);
var result5 = true || false;//只要有一个true,就返回true
console.log("result5 = " + result5);
输出结果
非布尔值的与或运算
/*
* && || 非布尔值的情况
* -对于非布尔值进行与或运算时,会先将其转换为布尔值,然后再运算,并且返回原值
* -与运算(布尔值计算短路一样)
* -如果两个值中,第一个值为true,则返回第二个值
* -如果两个值中,第一个值为false,则返回第一个值
* -或运算(布尔值计算时的短路情况一样)
* -如果两个值中,第一个值为false,则返回第二个值
* -如果两个值中,第一个值为true,则返回第一个值
* */
//true && true
//与运算,如果两个值都为true,则返回后面的
var res = 1 && 2;
console.log("res = " + res);
var res1 = 0 && 2;
//false && true
//如果有false,则返回false
console.log("res1 = " + res1);
var res2 = NaN && 0;
var res3 = 0 && NaN;
//false && false
//两个都是false,则返回前面的
console.log("res2 = " + res2);
console.log("res3 = " + res3);
赋值运算符
/*
* 赋值运算符
* =
* -可以将符号右侧的值赋值给符号左侧的变量
* +=
* - a += 5 等价于 a = a + 5;
* -=
* - a -= 5 等价于 a = a - 5;
* *=
* - a *= 5 等价于 a = a * 5;
* /=
* - a /= 5 等价于 a = a / 5;
* %=
* - a %= 5 等价于 a = a % 5;
* */
var a = 123;
// a = a + 5;
a += 5;//与 a = a + 5;是一样的结果
console.log("a = " + a);
输出结果
关系运算符
/*
* 关系运算符
* 通过关系运算符,可以比较两个值之间的大小关系
* 如果关系成立他会返回true,如果不成立,他会返回false
* > 大于号
* -判断符号左侧的值是否大于右侧的
* -如果关系成立,返回true,如果不成立则返回false
* >= 大于等于
* -判断符号左侧的值是否大于或等于右侧的值
* < 小于号
* -判断符号左侧的值是否小于右侧的
* <=小于等于
* -判断符号左侧的值是否小于或等于右侧的
* 非数值的情况
* -对于非数值进行比较时,他会先转换成数字,再进行比较
* -如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码
* -比较字符编码时,是一位一位进行比较,如果两边的第一位都一样,则比较下一位,以此类推
* -可以做英文排序,比较中文时么有意义
* -如果比较两个字符串型的数字,可能会得到不可预期的结果
* //注意,在比较两个字符串型的数字时,一定一定要转型
* */
var result8 = 5 > 10;
console.log("result = " + result8);//返回false
//非数值的情况
console.log(1 > true);//false
console.log(1 >= true);//true
console.log(1 > "0");//true
console.log(10 > null);//true
//任何值和NaN 比较都是false
console.log(10 > "hello")//false,hello转换成数字是undefined
console.log("11" < "5");//true ,两边都是字符串时,比较的是字符串的编码
console.log("a"< "b");// true ,两边都是字符串时,比较的是字符串的编码
console.log("abc" < "b" );//true 比较字符编码时,是一位一位进行比较,如果左右两边的第一位都一样,则比较下一位,以此类推
Unicode编码表
怎么输出Unicode编码表里的内容
<script>
/*
* Unicode编码表
* 怎么输出Unicode编码表里的内容
* 在字符串中使用转义字符输入Unicode编码
* \u四位编码
* 在网页中使用Unicode编码
* &#编码,这里的编码需要的是十进制的
* 怎样将十六进制的转换成十进制的,打开电脑自带的计算器,然后选择程序员,输入十六进制的数,转换成十进制的数
* */
console.log("\u2620");// \u2620 会输出一个小骷髅头
</script>
<h1>&#9760;</h1> //&#9760,是十进制的数,需要用十六进制的2620转换成十进制的,在网页里写的跟JS 中写的是不一样的

二、遇到的困难

三、明天要做的事情

继续学习

四、收获

学习了运算符的新知识


返回列表 返回列表
评论

    分享到