js中apply方法的使用

2022-02-25 09:32:07 字數 1616 閱讀 1715

1、物件的繼承,一般的做法是複製:object.extend

prototype.js的實現方式是:

1 object.extend = function

(destination, source)

5return

destination;

6 }

obj:這個物件將代替function類裡this物件

args:這個是陣列,它將作為引數傳給function(args-->arguments)

1

他就具備了person類的sayhello方法和所有屬性。

我們先從math.max()函式說起,math.max後面可以接任意個引數,最後返回所有引數中的最大值。

比如 

alert(math.max(5,8))   //8

alert(math.max(5,7,9,3,1,6))   //9

但是在很多情況下,我們需要找出陣列中最大的元素。

var arr=[5,7,9,1] alert(math.max(arr))    // 這樣卻是不行的。一定要這樣寫

function getmax(arr)

5return

destination;

6 }obj:這個物件將代替function類裡this物件

args:這個是陣列,它將作為引數傳給function(args-->arguments)

1

他就具備了person類的sayhello方法和所有屬性。

我們先從math.max()函式說起,math.max後面可以接任意個引數,最後返回所有引數中的最大值。

比如 

alert(math.max(5,8))   //8

alert(math.max(5,7,9,3,1,6))   //9

但是在很多情況下,我們需要找出陣列中最大的元素。

var arr=[5,7,9,1] alert(math.max(arr))    // 這樣卻是不行的。一定要這樣寫

function getmax(arr){    

var arrlen=arr.length;    

for(var i=0,ret=arr[0];iret=math.max(ret,arr[i]);           

return ret;

function getmax2(arr){    

兩段**達到了同樣的目的,但是getmax2卻優雅,高效,簡潔得多

再比如陣列的push方法。

var arr1=[1,3,4]; var arr2=[3,4,5];

如果我們要把 arr2展開,然後乙個乙個追加到arr1中去,最後讓arr1=[1,3,4,3,4,5]

arr1.push(arr2)  顯然是不行的。 因為這樣做會得到[1,3,4,[3,4,5]]

我們只能用乙個迴圈去乙個乙個的push(當然也可以用arr1.concat(arr2),但是concat方法並不改變arr1本身)

var arrlen=arr2.length

for(var i=0;iarr1.push(arr2[i]);

js中apply方法的使用

1 物件的繼承,一般的做法是複製 object.extend prototype.js的實現方式是 object.extend function destination,source return destination obj 這個物件將代替function類裡this物件 args 這個是陣列,...

js中apply方法的使用

1 物件的繼承,一般的做法是複製 object.extend prototype.js的實現方式是 object.extend function destination,source return destination obj 這個物件將代替function類裡this物件 args 這個是陣列,...

js中apply方法的使用

1 物件的繼承,一般的做法是複製 object.extend prototype.js的實現方式是 object.extend function destination,source return destination obj 這個物件將代替function類裡this物件 args 這個是陣列,...