【小白筆記】js常用函數與方法

一、遞歸

所謂遞歸即函數自己調用自己,語法如下:

//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(); //輸出結果:顏色為藍色

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例,加載時并不主動創建,需要時才創建 最常見的單例模式,...
    Obeing閱讀 2,093評論 1 10
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,827評論 2 17
  • JS循環 for循環 格式:for( var i=0; i<5 ; i++){循環代碼;} i=0,是初始化條件,...
    印象rcj閱讀 601評論 0 0
  • 問答 數組方法里push、pop、shift、unshift、join、split分別是什么作用。(*) var ...
    風骨來客閱讀 357評論 0 0
  • 鳴鳴長大了,對外面的世界有了好奇心,我和鳴鳴爸爸決定帶他到國內短途游。8月26日一大早出發了! 運氣真好,臺風明天...
    想吃冰激凌的貓閱讀 284評論 0 0