js 各種函式的寫法的使用方式
阿新 • • 發佈:2018-11-02
js有很多不同的寫法,例如funame:function (){}、或者var funame = function ( ){}、或者funame(){}等等。但是每個寫法所能用的地方不一樣。亂用會導致報錯等問題。
接下來來列一下這些寫法該怎麼使用。
一、
function fn1 (){
正常寫法
}
正常寫法。
二、
var myfun = function(){}; myfun = function(){} //全域性物件Windows的一個屬性,慎寫
上面的程式碼第一行是一種宣告函式的方式。意思是將右方這個函式表示式賦值給了變數myfun。
三、
var a = {
funame:function(){}
}
funame:function (){}只能寫在物件內部。因為這是物件的函式。
如果變數中有多個函式可以如下這麼寫。
var a = { // 第一種方法 fn1:function(){} ; fn2:function(){} ; fn3:function(){} ; } var b = function () {}; //第二種方法 b.fn1 = function (){ //第一個函式 } b.fn2 = function (){ //第二個函式 } b.fn3 = function (){ //第三個函式 } var c = function () { //第三種方法 return { fn1: function() { //第一個函式 }, fn2: function() { //第二個函式 }, fn3: function() { //第三個函式 } } }
四、
用類來實現(其中第二、三種不能混用,因為會覆蓋prototype)
var a = function (){ //第一種方法 this.fn1 = function(){ // 第一個函式 } this.fn2 = function(){ // 第二個函式 } this.fn3 = function(){ // 第三個函式 } } var b = function (){}; //第二種方法 b.prototype.fn1 = function () { // 第一個函式 } b.prototype.fn2 = function () { // 第二個函式 } b.prototype.fn3 = function () { // 第三個函式 } var c = function () {}; //第三種方法 c.prototype = { fn1: function (){ // 第一個函式 } fn2: function (){ // 第二個函式 } fn3: function (){ // 第三個函式 } } var d = function () {}; //第四種方法 d.prototype = { fn1: function (){ // 第一個函式 return this; } fn2: function (){ // 第二個函式 return this; } fn3: function (){ // 第三個函式 return this; } }