写这个系列为了全面积累巩固自己的js基础,包括一些基础的和稍微冷门、深入的,还有一些面试题,如果你也认为基础知识很重要,快来一起交流学习啦~ ^ - ^
本节主要记录一些关于语句的面试题,概念从简
1.条件语句
多个if和if else对
很多人会搞不清或者没思考过什么时候用多个if、 if else
前者会把所有的if都去判断一遍,后者只会匹配一种,匹配到合适的就不会再往下匹配了,代码应该是互斥的
2.循环语句
for 和while,可以说While是for的简化版(实际开发中Do while用得少)
- 打印1到10,不使用常见的for(var i = 0 ; i<10 ; i++)
var i = 1;
var count = 0;
for(; i ;){
console.log(i);
count++;
i++;
if(count == 10){
i=0;
}
}
或者
var i = 1
for(; i ;){
console.log(i);
i++;
if(i == 11){
i=0;
}
}
平时写代码可以走常规,但是遇到奇葩的面试题时,以上的例子应该可以开阔思维
面试题:
1)2的n次幂
var count=1;
var n = window.prompt('输入n:');
while(n!=0){
count= count*2;
n--;
}
console.log(count);
2)n的阶乘
var n = window.prompt('输入n,计算n的阶乘');
var num=1;
for(var i=1;i<=n;i++){
num*=i;
}
3)著名的斐波那契数列 1 1 2 3 5 8
var arr=[1,1];
var n = window.prompt('输入n,求n项斐波那些数列');
console.log(arr[0]);
console.log(arr[1]);
for(var i=2;i<n;i++){
arr[i]=arr[i-2]+arr[i-1];
console.log(arr[i]+" ");
}