一、递归
所谓递归即函数自己调用自己,语法如下:
//fcname:递归函数名
function fcname() {
fcname() {}
}
eg:求10的阶乘
function fcname(num) {
if(num<=1) {
return 1;
}
else {
return fcname(num-1)*num;
}
}
console.log("10!="+fcname(10)); //输出结果:10!=3628800
注:其他js内置函数
1、eval():求字符串中表达式的值;
2、isFinite():判断一个数值是否为无穷大;
3、isNaN():判断一个数值是否为NaN;
4、parseInt():将字符型转换为整型;
6、parseFloat():将字符型转换为浮点型;
7、encodeURI():将字符串转换为有效的URL(ajax请求时可转换中文用:encodeURI(encodeURI("所发送的中文字符串")));
8、encodeURIComponent():将字符串转换为有效的URL组件;
9、decodeURI():对encodeURI()编码的文本进行解码;
10、decodeURIComponent():对encodeURIComponent()编码的文本进行解码;
二、数组操作【点击查看“更多数组操作”】
1、冒泡排序、方法如下:
注:所谓冒泡排序,即依次比较数组中相邻元素的值,从小到大(或从大到小)排序。
eg:从小到大排序
var arr = [90,85,99,4,50,60,33,15];
for(var i=0; i<arr.length-1; i++) {
for(var j=0; j<arr.length-1-i; j++) {
if(arr[j]>arr[j+1]) {
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr); //输出结果:[4, 15, 33, 50, 60, 85, 90, 99]
2、数组去重、方法如下:
function resame(arrs){
var newarr = [];
var json = {};
for(var i = 0; i < arrs.length; i++) {
if(json[arrs[i]] != arrs[i]) {
newarr.push(arrs[i]);
json[arrs[i]] = arrs[i];
}
}
return newarr;
}
var arr = [1,2,3,1,2,3,"哈","嗨",4,5,6,4,5,6,"哈","嗨"];
console.log(resame(arr)); //输出结果:[1, 2, 3, "哈", "嗨", 4, 5, 6]
三、字符串操作【点击查看“更多字符串操作”】
1、去空格,方法如下:
a.字符串去所有空格
var str = " hello world ! ";
var str1 = str.replace(/\s/g, "");
console.log(str1); //输出结果:helloworld!
b.jQuery字符串去首尾两端所有空格方法
var str =" hello world ";
console.log(str.trim()); //输出结果:hello world
四、面向对象
1、工厂方法(无参),方法如下:
function createCar() {
var car = new Object;
car.color = "黑色";
car.run = function() {
console.log("颜色为"+car.color)
}
return car;
}
var ocar = createCar();
ocar.run(); //输出结果:颜色为黑色
2、工厂方法(有参),方法如下:
function createCar(sColor) {
var car = new Object;
car.color = sColor;
car.run = function() {
console.log("颜色为"+car.color)
}
return car;
}
var ocar = createCar("红色");
ocar.run(); //输出结果:颜色为红色
3、构造函数,方法如下:
function car(sColor) {
this.color = sColor;
this.run = function() {
console.log("颜色为"+this.color)
}
}
var ocar = new car("白色");
ocar.run(); //输出结果:颜色为白色
4、追加属性,方法如下:
function car(sColor) {
car.prototype.color = sColor;
car.prototype.run = function() {
console.log("颜色为"+this.color)
}
}
var ocar = new car("蓝色");
ocar.run(); //输出结果:颜色为蓝色