//递归
var add = 0;
//递归求和
function sum(n){
if( n <= 0 ){
return n;
}
return n + sum(n-1);
}
console.log( sum(3) );
//复制对象
var obj = {
a:1,
arr:[1,2,3],
obj:{
s:'string',
arr1:[{a:1},{b:2},{c:3}]
}
};
var copyObj = JSON.parse( JSON.stringify( obj ) );
obj.a = 2;
//console.log( copyObj , obj );
//判断数组和对象类型
var arr = [];
var obj = {};
function fn(){};
console.log( typeof fn ); // function
console.log( obj.constructor === Object ); //true 判断实例的构造函数
console.log( arr instanceof Array ); // 判断arr是否是Array 的实例
console.log( Object.prototype.toString.call(arr) ); // 返回字符串 [object Array]
//1000以内最大的质数
var nums = [];
for( var i = 1000; i > 0; i-- ){
if(isPrime( i )){
nums.push(i);
}
}
//检测是否是质数
function isPrime( num ){
num = Number(num);
if( !num || isNaN(num) ){
return false;
}
if( num == 2 || num == 3 ){
return true;
}
if( num <= 1 ){
return false;
}
for (var i = 2; i < num; i++) {
if( num%i === 0 ){
return false;
}
}
return true;
}
console.log( nums );