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 這個是陣列,...