判断是否是闰年的算法
四年一闰,百年不闰,四百年再闰
const isLeapYear = (year) => (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
获取1到N的连续数字的总和
const getOneToN = (n) => n * (n + 1) / 2;
判断是否是偶数
const isEven = (num) => num % 2 === 0;
判断是否是奇数
const isOdd = (num) => num % 2 === 1;
获取从0到某个数(包括0和某个数)中0的数量
function getZeroNum(num) {
var counter=0,i,j,strI,len;
for(i=0;i<=num;i++){
strI = i.toString();
len = strI.length;
for(j=0;j<len;j++){
if(+strI.charAt(j)===0) counter++;
}
}
return counter;
}
2. 求 1 到 n 之间所有数的和
原理:
sum: 1+2+3+4+5
sum: 5+4+3+2+1
sum*2: 6+6+6+6+6 5个
$$
sum = n*(n+1)/2
$$
简单版本:
function sum(num) {
var i, counter = 0;
for(i = 0; i <= num; i++) {
counter += i;
}
return counter;
}
优化版本:
function sum(num) {
return num*(1+num)/2;
}
阶层函数
var factorial=function(n){
if(n==1){
return 1;
}
return n * factorial(n-1);
}
factorial(10);
检测浏览器的栈最大层数
var checkMaxStack=function(){
var checkStack=function(n){
try {
checkStack(n+1);
} catch (error) {
console.log('current browser max stack is '+n);
}
}
checkStack(1);
};
checkMaxStack();
缓存的作用
发表评论