Javascript的基础(运算符、数据类型的转换、流程控制)
1.运算符的简写
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
var a = 1;
a = a + 1;
alert(a);
var b = 1;
b += 1;
alert(b);
</script>
</head>
<body>
</body>
</html>
2.自增自减运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
var a = 2;
//a = a + 1;
//a += 1;
//自增
a ++;
alert(a);
//先加
var c = 3;
c ++;
alert(c);
//后加
var b = 3;
b ++;
alert(b);
</script>
</head>
<body>
</body>
</html>
3.逻辑运算符
作用: 用来连接两个判断条件.
* &&与(并且)’
* ||或(或者)
* !非(取反)
4.逻辑运算符的优先级
! > && > ||
() > *,/ > +,-
5.比较运算符(关系运算符)
* > 大于
* < 小于
* >=
* <=
* == (是否相等)
判断的仅仅只是数据的内容, 没有判断数据的类型
* === (判断是否全等)
即会关心内容也会关心类型
注意:有一个比较特殊的数字NaN,它特殊到自己都不等于(==,===)自己.
* !=
比较的是内容, 如果内容一样返回false, 如果不一样返回true
* !==
只要内容或者是类型不一样, 就返回true, 反之为false.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
//大于号: >
var a = 1 > 3;
alert(a); //false
//小于号: <
var b = 1 < 3;
alert(b); //true
//大于等于: >=
var c = 3 >= 3;
alert(c); //true
//小于等于: <=
var d = 3 <= 3;
alert(d); //true
//等等于: == 仅仅比较内容, 不会去关系数据的类型
var e = 3==3;
alert(e); //true
//等等等于: === 即会关心内容也会关心类型
var f = 3;
var g = "3";
var h = f === g;
alert(h); //false
//不等于: != 比较的是内容, 如果内容一样返回false, 如果不一样返回true
var j = 3;
var k = "3";
var l = j != k;
alert(l); //false
//不全等: !==
var o = 3;
var p = "3";
var q = o !==p;
alert(q); //true
</script>
</head>
<body>
</body>
</html>
6.boolean在内存中储存的格式
所有的数据是储存在内存中, boolean在存储的时候有个特点, 会将true转成1, 会将false转成0; 所以在内存中true是用1来表示, 而false是用0来表示的. 如果在进行对比的时候(用”false”字符串来与boolean类型的false进行比较时, 是拿”false”与0在进行对比.)
7.赋值运算符: =
作用: 将等号右边的结果赋值给等号左边的内容.
var a,b,c;
a=b=c=1;
alert(a+b+c);
8.数据类型的转换
通过prompt(“”)输入数据的类型, 不管我们在输入框中输入什么样的内容, 将来浏览器都把它当作String
* 转Number
方法一: Number(“要转的内容”)
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;
方法二: parseInt()将内容转成Number
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入。
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.
方法三: parseFloat():转数字
与parseInt一样,唯一区别是可以保留小数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
var a = prompt("请输入一个数字");
var b = Number(a);
alert(b);
var d = "123";
d = parseInt(d);
alert(d);
var f = "123.56";
f = parseFloat(f);
alert(f);
</script>
</head>
<body>
</body>
</html>
9.转字符串
* toString()
直接调用这个变量的toString方法可以将内容转成字符串(包装类).
* String()
直接将要转的内容放在String后的括号中, 就可以将内容转成字符串.
第一个方法是直接调用这个变量对象中的方法, 第二个就是直接使用强制转换的方法.
10.Boolean转换
注意:除了false、0、””、NaN、Undefined在转换的时候会转成false以外,其它的都会转成true.(包括”false”).
var a = "true";
a = Boolean(a);
console.log(a);
console.log(typeof a);
11.隐式转换
* 隐式转换成Number
直接在要转换的内容前加上”+”;
var a = prompt("请输入数字");
a = +a;
console.log(a);
console.log(typeof a);
可以使用 +, -, *, /, % 都可以将字符串转成Number
* 隐式转换成字符串
var a = 123;
a = a + "";
console.log(a);
console.log(typeof a);
* 隐式转换成Boolean
var a = 123;
a = !a; // ===> a = !Number(123)
console.log(a);
console.log(typeof a);
12.流程控制
12.1if结构
作用: 用于判断某些条件是否执行;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
var a = prompt("请输入钱数");
if(a > 300){
alert("请吃饭");
}else{
alert("请去网吧")
}
</script>
</head>
<body>
</body>
</html>
执行过程: 程序运行到if之后, 会判断if括号后的条件, 如果条件满足, 那么就会执行if括号后面的内容, 如果条件不满足, if中的内容不会执行.
12.2switch case
作用: 与if_else if_else是一样,用来判断多个条件中的哪一个条件是否满足要求.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script type="text/javascript">
var a = prompt("请输入今天的星期");
switch(a){
case "1":
alert("您输入的是星期一");
break;
case "2":
alert("您输入的是星期二");
break;
case "3":
alert("您输入的是星期三");
break;
case "4":
alert("您输入的是星期四");
break;
case "5":
alert("您输入的是星期五");
break;
case "6":
alert("您输入的是星期六");
break;
case "7":
alert("您输入的是星期日");
break;
default :
alert("你输入的是什么");
break;
}
</script>
</head>
<body>
</body>
</html>