1. 遍历对象用哪个语句?
for in
2. 遍历对象中, for k in obj,获得对象属性是那个,获得值是那个?
获得对象属性是 k
获得对象值是 obj[k]
对象的使用:
查询对象(查):对象.属性。删除对象中属性(删):delete 对象名.属性名。
重新赋值(改):对象.属性 = 值。对象添加新的数据(增):对象名.新属性名 = 新值
(注:改和增语法一样,判断标准就是对象有没有这个属性,没有就是新增,有就是改)
3. 如何生成N-M之间的随机数 [N,M+1)
Math.floor(Math.random() * (M - N + 1)) + N
4. 比较运算符
> : 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于**或**等于右边
<=: 左边是否小于**或**等于右边
==: 左右两边值是否相等
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到 true 或 false
对比:
= 单等是赋值
== 是判断
=== 是全等
开发中判断是否相等,强烈推荐使用 ===
5. 判断一个变量 num 是否大于5且小于10怎么写?
num > 5 && num < 10
6. 运算符优先级
- 一元运算符里面的逻辑非优先级很高
- 逻辑与比逻辑或优
7. 表达式和语句的区别
因为表达式可被求值,所以它可以写在赋值语句的右侧。
num = 3 + 4
而语句不一定有值,所以比如 alert() for和break 等语句就不能被用于赋值。
alert() 弹出对话框 console.log() 控制台
8. 能说出continue和break的区别
continue 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue
break 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用
9. Switch语句注意事项
- switch case语句一般用于等值判断===,不适合于区间判断
- switch case一般需要配合break关键字使用 没有break会造成
10. for循环和while循环的区别
当如果明确了循环的次数的时候推荐使用for循环
当不明确循环的次数的时候推荐使用while循环
11. return的注意事项
return后面不接数据或者函数内不写return,函数的返回值是undefined
return能立即结束当前函数, 所以 return
12. 函数传参-参数默认值
用户不输入实参时,可以给形参默认值,可以默认为0, 这样程序更严谨,可以如下操作:
function getSum(x = 0, y = 0) {
document.write(x + y)
}
getSum(1, 2)
getSum() // 结果是0,而不是NAN
13. 匿名函数
函数表达式:将匿名函数赋值给一个变量,并且通过变量名称进行调用
let fn = function(){
//函数体
}
//调用
fn() //函数名
立即执行函数:无需调用,立即执行。多个立即执行函数之间用分号隔
//避免全局变量之间的污染
//方式一
(function(){console.log(11)})();
//方式二
(function(){console.log(11)}());
14. 计算公式:计算时分秒
日: d = parseInt(总秒数/ 60/60 /24); // 计算天数
小时: h = parseInt(总秒数 / 60 / 60 % 24)
分钟: m = parseInt(总秒数 / 60 % 60 )
秒数: s = parseInt(总秒数 % 6)
15. 转换为Boolean型15. 转换为Boolean型
显示转换:""、0、undefined、null、false、NaN 转换为布尔值后都是false, 其余则为 true
隐式转换:有字符串的加法 "" + 1 ,结果是 ""
null 经过数字转换之后会变为。undefined 经过数字转换之后会变为 NaN
减法 – (像大多数数学运算一样)只能用于数字,它会使空字符串 "" 转换为0
16. null 和 undefined 区别
- undefined 表示没有赋值
- null 表示赋值了,但是内容为空
17. 隐式转换
- +号作为正号解析可以转换成数字型
- 任何数据和字符串相加结果都是字符串
18. 显式转换
转换为数字型:
- Number(数据)
转成数字类型
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字
NaN也是number类型的数据,代表非数字 - parseInt(数据):只保留整数
- parseFloat(数据):可以保留小数
转换为字符型:
- String(数据)
- 变量.toString()
19. 三元运算符
语法:条件 ? 满足条件执行的代码 : 不满足条件执行的代码