js中函數和方法的區別


函數(function)是一段代碼,需要通過名字來進行調用。它能將一些數據(函數的參數)傳遞進去進行處理,然后返回一些數據(函數的返回值),也可以不返回數據。


方法(method)是通過對象調用的javascript函數。也就是說,方法也是函數,只是比較特殊的函數。

當將函數和對象和寫在一起時,函數(function)就變成了方法(method)。只能對象里方法形式,方法里在函數形式寫法,不能對象里函數,正確寫法:

結果:這是一個 this指向的問題,第一個:{m: ƒ}   ,第二個:window

 var o={                       //對象
       m:function(){          //方法
           console.log(this);
            f();              //方法里可以函數
            f:function f(){
                console.log(this)
            }
       }
   }
  o.m();    //對象o的m方法,this作為方法被調用,指向調用它的對象。作為函數調用指向window,或undefined(嚴格模式)     

不正確寫法:

報錯:Uncaught SyntaxError: Unexpected identifier

var o={
       function m(){       //X  
           console.log(this);
            f();
            function f(){
                console.log(this)
            }
       }
   }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM