標籤:blog http os strong io for
JS比較好用的一些方法搜集
Math.ceil(x) -- 返回大於等於數字參數的最小整數(取整函數),對數字進行上舍入
Math.floor(x)--返回小於等於數字參數的最大整數,對數字進行下舍入
join()
例:var a = ["a","b","c"]; 若要輸出"a,b,c" 需要a.join(‘,‘) 用","將數組項串連
若想輸出"abc" 直接a.join(‘‘)
push()
方法將以新元素出現的順序添加這些元素。如果參數之一為數組,那麼該數組將作為單個元素添加到數組中。
例:var a=[1,2,3,4] a.push(5) ; 數組a將會有1,2,3,4,5 五個元素
注意: push()參數可以是多個數值(param1,param,…paramN),但不能是對象
var arr1 = [1, 3, 4];
var arr2 = [3, 4, 5];
如果用arr1.push(arr2) 數組arr1得到的是[1,3,4,[3,4,5]] 而不是[1,3,4,3,4,5]
如果要得到[1,3,4,3,4,5] 用 Array.prototype.push.apply(arr1, arr2); 或arr1=arr1.concat(arr2) concat方法並不改變arr1本身
但是可以arr1.push(5,6) 這樣得到的是[1,3,4,5,6]
aaa
toFixed()
四捨五入
例 :var x=0.02345 x.toFixed(2) 結果為0.002 x=0.0564 結果為0.06
apply()
apply:方法能劫持另外一個對象的方法,繼承另外一個對象的屬性.
Function.apply(obj,args)方法能接收兩個參數
obj:這個對象將代替Function類裡this對象
args:這個是數組,它將作為參數傳給Function(args-->arguments)
例: /*定義一個人類*/
function Person(name, age) {
this.name= name;
this.ag= age;
}
/*定義一個學生類*/
function Student(name, age, grade)
{
Person.apply(this, arguments); //this 為Student這個對象 arguments為傳入的參數集合
this.grade = grade;
}
當我們建立對象 var object=new Student(‘aking‘,26,‘one‘); 此時執行Student 當執行到Person.apply(this, arguments);
這個時候Person中的this對象 將被student的對象代替並執行person方法 在Person方法體中 student對象.name="aking";
student對象.age=26;
apply()妙用:Math.max(param1,param2,param3…) ==>var max=Math.max.apply(null,array)
Math.min(param1,param2,param3…) ==>var min=Math.min.apply(null,array)
push(param1,param,…paramN) ==>Array.prototype.push.apply(arr1,arr2);
一般在目標函數只需要n個參數列表,而不接收一個數組的形式([param1[,param2[,…[,paramN]]]]),可以通過apply的方式巧妙地解決這個問題!
map() (Jquery方法)
jQuery.map(array,callback) 將一個數組中的元素轉換到另一個數組中。作為參數的轉換函式會為每個數組元素調用,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。轉換函式可以返迴轉換後的值、null(刪除數組中的項目)或一個包含值的數組,並擴充至原始數組中。
參數
array (Array) : 待轉換數組。callback (Function) : 為每個數組元素調用,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。函數可返回任何值。另外,此函數可設定為一個字串,當設定為字串時,將 視為“lambda-form”(縮寫形式?),其中 a 代表數組元素。如“a * a”代表“function(a){ return a * a; }”。
樣本
將原數組中每個元素加 4 轉換為一個新數組。
jQuery 代碼:
$.map( [0,1,2], function(n){
return n + 4;
});
結果:
[4, 5, 6]
--------------------------------------------------------------------------------
原數組中大於 0 的元素加 1 ,否則刪除。
jQuery 代碼:
$.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
結果:
[2, 3]
eval:函數接收一個參數s,如果s不是字串,則直接返回s。否則執行s語句。(eval不可能在全域空間內執行)