Day4
1、 小数问题
现象:
- 0.1 +0.7 = 0.799999999999999
原因: - 计算机的执行机制为2进制,只识别0或1;
- 计算机中有一套完善的转换机制,所有内容最终都会被解析成二进制;
- 计算机对于小数的计算,会产生误差
解决: - 主动保留n位小数,得到数据类型是字符
num = num .toFixed(n); - 转成数值
num= Number (num);(任何一种转成数值的方法都可以)
2、 三目运算符(三元,表达式)
a. 语法: 条件 ? 条件为真,值1 : 条件为假,值2
;
b. 注意- 三目其实就是一种简写方式,如果不能简写,那就不用三目;
- 三目是个表达式,表达式最终会计算出一个值
c. 应用
var n = 16;
var m = n>10 ? n.toString() : “0”+n;
console.log(m);
d. 能用就用,不能用就用if-else;
3、逻辑运算符的高级用法
a.||
- 基础规则:
- 或的两边只要出现一个true就是true;
- 如果两边都是false,就是false;
- 原理
- 如果左侧是true,立即确定结果,不再向右检测;
- 如果左侧是false,不能确定结果,继续向右检测,不过右侧是啥,检测结果都停在右侧
b.&&
- 基础规则:
- 且的两边只要出现一个false就是false;
- 如果两边都是true,就是true;
- 原理
- 如果左侧是false,立即确定结果,不再向右检测;
- 如果左侧是true,不能确定结果,继续向右检测,不过右侧是啥,检测结果都停在右侧
c.!
- 规则:取反
- 灵活利用非,实现其他转布尔
4、 循环结构
a. 循环三要素
- 计数器的创建
- 执行条件(停止条件)的设定
- 计算器的改变
b. 循环语句 while
语法:
var i = 0;
while( i<10 ){
document.write(“hello world
”);
i++;
}do while
语法
var i = 0;
do{
console.log(i);
i++;
}while( i<10 ){
console.log(“循环结束了”);
}
c. 注意:- 计数器的改变最好放在循环体的最后,除非特殊需要
- 如非特殊需要,千万不能在循环中额外改变计数器