詳解javascript函數(shù)寫法大全
1.常規(guī)寫法
function fnName(){
console.log("常規(guī)寫法");
}
2.匿名函數(shù),函數(shù)保存到變量里
var myfn = function(){
console.log("匿名函數(shù),函數(shù)保存到變量里");
}
3.如果有多個(gè)變量,可以用對象收編變量
3.1 用json對象
var fnobject1={
fn1:function(){
console.log("第一個(gè)函數(shù)");
},
fn2:function(){
console.log("第二個(gè)函數(shù)");
},
fn3:function(){
console.log("第三個(gè)函數(shù)");
}
}
3.2 聲明一個(gè)對象,然后給它添加方法
var fnobject2 = function(){};
fnobject2.fn1 = function(){
console.log("第一個(gè)函數(shù)");
}
fnobject2.fn2 = function(){
console.log("第二個(gè)函數(shù)");
}
fnobject2.fn3 = function(){
console.log("第三個(gè)函數(shù)");
}
3.3 可以把方法放在一個(gè)對象函數(shù)里
var fnobject3 = function(){
return {
fn1:function(){
console.log("第一個(gè)函數(shù)");
},
fn2:function(){
console.log("第二個(gè)函數(shù)");
},
fn3:function(){
console.log("第三個(gè)函數(shù)");
}
}
};
4.可用類來實(shí)現(xiàn),注意類的第二種和第三種寫法不能混用,否則一旦混用,如在后面為對象的原型對象賦值新對象時(shí),那么他將會覆蓋掉之前對prototype對象賦值的方法
4.1 第一種寫法
var fnobject4 = function(){
this.fn1 = function(){
console.log("第一個(gè)函數(shù)");
}
this.fn2 = function(){
console.log("第二個(gè)函數(shù)");
}
this.fn3 = function(){
console.log("第三個(gè)函數(shù)");
}
};
4.2 第二種寫法
var fnobject5 = function(){};
fnobject5.prototype.fn1 = function(){
console.log("第一個(gè)函數(shù)");
}
fnobject5.prototype.fn2 = function(){
console.log("第二個(gè)函數(shù)");
}
fnobject5.prototype.fn3 = function(){
console.log("第三個(gè)函數(shù)");
}
4.3 第三種寫法
var fnobject6 = function(){};
fnobject6.prototype={
fn1:function(){
console.log("第一個(gè)函數(shù)");
},
fn2:function(){
console.log("第二個(gè)函數(shù)");
},
fn3:function(){
console.log("第三個(gè)函數(shù)");
}
}
4.4 第四種寫法
var fnobject7 = function(){};
fnobject7.prototype={
fn1:function(){
console.log("第一個(gè)函數(shù)");
return this;
},
fn2:function(){
console.log("第二個(gè)函數(shù)");
return this;
},
fn3:function(){
console.log("第三個(gè)函數(shù)");
return this;
}
}
5.對Function對象類的擴(kuò)展(下面三種只能用一種)
5.1 第一種寫法(對象)
Function.prototype.addMethod = function(name,fn){
this[name] = fn;
}
var methods=function(){};//var methods=new Function();
methods.addMethod('fn1',function(){
console.log("第一個(gè)函數(shù)");
});
methods.addMethod('fn2',function(){
console.log("第二個(gè)函數(shù)");
});
methods.addMethod('fn3',function(){
console.log("第三個(gè)函數(shù)");
});
5.2 鏈?zhǔn)教砑樱▽ο螅?/p>
Function.prototype.addMethod = function(name,fn){
this[name] = fn;
return this;
}
var methods=function(){};//var methods=new Function();
methods.addMethod('fn1',function(){
console.log("第一個(gè)函數(shù)");
}).addMethod('fn2',function(){
console.log("第二個(gè)函數(shù)");
}).addMethod('fn3',function(){
console.log("第三個(gè)函數(shù)");
});
5.3 鏈?zhǔn)教砑樱悾?/p>
Function.prototype.addMethod = function(name,fn){
this.prototype[name] = fn;
return this;
}
var Methods=function(){};//var methods=new Function();
methods.addMethod('fn1',function(){
console.log("第一個(gè)函數(shù)");
}).addMethod('fn2',function(){
console.log("第二個(gè)函數(shù)");
}).addMethod('fn3',function(){
console.log("第三個(gè)函數(shù)");
});
以上所述是小編給大家介紹的javascript函數(shù)寫法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- JavaScript實(shí)現(xiàn)無限級遞歸樹的示例代碼
- JavaScript刷新頁面的幾種方法總結(jié)
- JavaScript實(shí)現(xiàn)漢字轉(zhuǎn)換為拼音及縮寫的方法示例
- JavaScript偏函數(shù)與柯里化實(shí)例詳解
- JavaScript惰性載入函數(shù)實(shí)例分析
- JavaScript的級聯(lián)函數(shù)用法簡單示例【鏈?zhǔn)秸{(diào)用】
- 詳解javascript設(shè)計(jì)模式三:代理模式
- javascript驗(yàn)證form表單數(shù)據(jù)的案例詳解
- Javascript的this詳解
- Javascript實(shí)現(xiàn)一朵從含苞到綻放的玫瑰
相關(guān)文章
JavaScript學(xué)習(xí)筆記(一) js基本語法
JavaScript學(xué)習(xí)筆記(一) js基本語法,想要學(xué)習(xí)js的朋友可以參考下。2011-10-10
學(xué)習(xí)js在線html(富文本,所見即所得)編輯器
需要一個(gè)可以編輯同時(shí)又可顯效果的編輯框。textarea不行,它只能用來輸入純文本,不能顯示顏色、斜體之類的文字樣式,就像記事本,本文介紹所見即所得編輯器實(shí)現(xiàn)原理2012-12-12
詳解JavaScript中的客戶端消息框架設(shè)計(jì)原理
這篇文章主要介紹了詳解JavaScript中的客戶端消息框架設(shè)計(jì)原理,包括客戶端和服務(wù)器端的通信等方面的內(nèi)容,需要的朋友可以參考下2015-06-06
Javascript基礎(chǔ)教程之關(guān)鍵字和保留字匯總
這篇文章主要介紹了Javascript基礎(chǔ)教程之關(guān)鍵字和保留字匯總,需要的朋友可以參考下2015-01-01
如何學(xué)習(xí)Javascript入門指導(dǎo)
首先要說明的是,咱現(xiàn)在不是高手,最多還是一個(gè)半桶水,算是入了JS的門2013-11-11

