三目运算符?
a>b?c:d——————a大于b输出c,a不大于b输出d
、
显示转换:
转为string:toString()————可将其他数据类型转换为字符串类型。其中null和undefined不能调用toString方法,因为他俩没有包装器函数。
用toString()方法还可以将number类型转为2进制,8进制,16进制的String类型数。
转为Boolean————1.boolean(a)。2 。使用!取反,也可以转为Boolean
转为number————1. 用+号。2.使用number()包装器函数。 3.用parseInt()取整函数。
流程控制语句:
if-else,if else-if else
2. switch(case) {
case:1;
break;
default:3
break;
}
3. for循环:
for循环遍历数组:
var arr = [1,3,9,8,6];
for(i=0;i<=arr.length-1;i++) {
console.log(arr[i]);
}
另一种方式:(用let key in arr)
var arr = [1, 6, 8, 9]
for (let key in arr) {
console.log(key);
console.log(arr[key]);
}
break 和continue的区别?
break退出整个for循环。continue 退出本次循环 ,进入下一次循环。
增强版for循环。(let key in obj)——遍历对象:
var obj = {
name: 'wjw',
age: 23,
gender: 'male'
}
for (let key in obj) {
console.log(key)
console.log(obj[key])
}
while循环:
var i = 0, result = 0;
while (i <= 100) {
result += i;
i++
}
console.log(result)
do while 循环————
do{}
while(i<100)
dowhile循环,及时判断条件为false,也会执行一次。
#### 3.6.递归
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
##### 使用递归实现阶乘
```javascript
// 递归 通俗理解
// 函数自己调用自己 停不下来
// 需要有 跳出的条件
/*
使用递归 求n的阶乘
假设 写好了一个函数 factorial
1 => 1
2 => 1*2 ->factorial(1)*2
3 => 1*2*3 ->factorial(2)*3
4 => 1*2*3*4 ->factorial(3)*4
...
n => 1*2*3...*n ->factorial(n-1)*n
*/
function factorial(n) {
// 跳出条件
if (n == 1) {
return 1;
}
return factorial(n - 1) * n;
}
var result = factorial(4);
console.log(result);
```