15. 算术运算符
<!--
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型
它会将该值的类型以字符串的形式返回
算术运算符:
当对非Number类型的值进行运算时,会将其转换为Number类型
任何值和NaN做运算都得NaN。
+:
对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串
会将两个字符串拼接成一个字符串并返回
- * / 等都会将运算数转为Number后再运算,和+不同。
-->
<script type="text/javascript">
var a = 123;
var result = typeof a;
result = 123 + "1";
result = "123" + "456";
result = false + 1;
console.log(result);
</script>
16.一元运算符
<!--
一元运算符
+:正号
正号不会对数字产生任何影响
-:负号
负号可以对数字进行负号取反
对于非Number类型的值,会先转换为Number,然后在运算
可以将一个其他类型的数据,使用+号,可以将它转换为Number。
-->
<script type="text/javascript">
var a = 123;
a = true;
a = -a;
a = "123";
a = +a;
console.log(a);
console.log(typeof a);
</script>
17-18.自增与自减
<!--
自增自减运算:
通过自增或自减能使变量在自身的基础上改变1
无论是++a,还是--a,都会立即使原变量的值自增1
不同的是a++ 和++a的值不同
a++的值等于原变量的值(自增前的值)
++a的值等于新值(自增后的值)
-->
20. 非布尔值的逻辑运算
<body>
<!--
&& || 非布尔值的情况
- 对非布尔值进行与或运算时,会先将其转换为布尔值,然后在运算,并且返回原值
与运算:
- 如果第一个值为true,则必然返回第二个值
- 如果第一个值为false,则直接返回第一个值
或运算:
- 如果第一个值为true,则直接返回第一个值
- 如果第一个值为fasle,则直接返回第二个值
-->
<script type="text/javascript">
// true && true
// 与运算:如果两个值都为true,则返回后边的
var result = 3 && 5;
// false 和 true
// 与运算,如果两个值中有false,则返回靠前的false
result = 0 && 2;
result = 2 && 0;
result = NaN && 0;
result = 0 && NaN;
// 或运算
result = 2 || 1;
result = 2 || 0;
result = NaN || 1;
result = NaN || NaN;
console.log("result=" + result);
</script>
</body>
23. 网页中使用Unicode编码
<!--
在JS中使用Unicode编码
\u + 十六进制编码
-->
<script type="text/javascript">
console.log("\u2620");
</script>
<!--
在网页中使用Unicode编码
&# + 10进制
16进制要转为19进制
-->
<h1>☠</h1>
24. 相等运算符
<!--
== 相等运算符
- 当使用==比较两个值时,如果值得类型不同,则会自动进行类型转换,将其转换为相同的类型,然后在比较
!= 不相等运算符
- 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
=== 全等
- 和相等类似,不同的是它不会做自动的类型转换,类型不同直接返回false
!== 不全等
- 和不相等类似,不同的是它不会做自动的类型转换,类型不同直接返回true
undefined衍生自null,所以两个值做相等运算时,会返回true
NaN不和任何值相等,包括它自身
可以通过isNaN()检查一个值是否是NaN
-->
30. prompt()函数
<!--
prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
该字符串将会作为提示框的提示文字。
用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容。
-->
<script>
var score = prompt("请输入你的考试成绩!");
console.log(score);
</script>