函數(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) } } }
