1. 程式人生 > >js 各種函式的寫法的使用方式

js 各種函式的寫法的使用方式

       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;
    }
}