学习JavaScript的day2
一、运算符的隐士转换
1、加法: 如果有字符串,隐士转换为字符串, 如果没有转为number;
例如: var a = true + (1 + '你好') + null;(运行结果:true1你好null)
var b = true + 1 + undefined;(运行结果:NaN)
var c = true + 1 + null;(运行结果:2)
var d = '你好' + '世界、!';(运行结果:你好世界)
2、减、乘、除、求余: 隐士讲元素转为number类型;
例如:
var m = '11' - 1;(运行结果:10)
var d = '11' * 1;(运行结果:11)
var n = true + '11' - '20';(运行结果:NaN)
var l = '12' - 0 + false;(运行结果:12)
3、数字字符串转换数字类型
① a - 0 ;
② a * 1 ;
③ a / 1;
4、关系运算符:== === != !== > < >= <=
①.如果有布尔类型,先转换为数字类型
②.如果有数字类型的,默认都转为数字
【注意】: null 跟 undefined 互相相等,等于本身,其他的都不想等。
【注意】:null>=0是为true;这是特殊的;但是null==0为false;
二、浏览器的三个弹窗
1、提示框:alert(); 提示信息,没有交互。只有一个确定按钮;
2、 确认框: confirm();确定按钮,和取消按钮。返回true或者false;点击取消:返回null
点击确定:返回用户输入的内容, 如果不输入返回空字符串;
3、对话框:prompt();跟浏览器进行对话,有一个输入框,两个按钮,确定按钮,关闭按钮
返回值是: 用户输入的内容;
[注意] 缺点: 1. 样式不可以修改
2. 三个弹窗都回阻塞进程
三、 if语句
1、代码结构
if(表达式 / 条件) {
// 代码块
} else {
// 代码块
}
if(表达式 / 条件) {
// 代码块
} else if(条件) {
} else {
// 代码块
[注意] 当我们在文本框输入一个数字或者字符它都默认转换为字符输出,所以我们要使用的时候记得需要转换为数字(x.numbe(x));
三、Math对象(常用的Math方法)
1、console.log(Math.PI);//取π的值
2、 console.log(Math.abs(-10))// 去绝对值
3、console.log(Math.floor(10.99));// 向下取整
4、 console.log(Math.ceil(10.0000001));// 向上取整
5、console.log(Math.round(9.5)); // 四舍五入
6、console.log(Math.pow(2, 5)); // 求2的5次幂
7、console.log(Math.random()); // 求随机数, 返回一个0 - 1的浮点数
【注意】console.log(Math.random())想取一个自己想要的范围方法有:
随机数 = Math.random() * (max - min) + min
四、switch语句
1、switch结构:
switch(要选择的值) {
case 值:
代码块
case 值:
代码块
default:
不满足以上条件,才执行(相当于if语句中的else)
}
// case穿透,满足条件后, 后面的代码无论条件是否满足全部执行,直到breakd的出现,才会终止。
switch(要选择的值) {
case 值:
代码块
break
case 值:
代码块
break
}
【注意】: 在使用switch语句时还应注意以下几点:
选择的值跟后面的值是恒等于;
在case后的各常量表达式的值不能相同,否则会出现错误。
在case后,允许有多个语句,可以不用{}括起来。
各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
default子句可以省略不用。
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。