1
方法(method)和函数(function)有什么区别? - 文章 - 伯乐在线 (blog.jobbole.com)
caterpillar 積分 3 編輯於

差別主要在於有沒有可參考的 self instance(無論是 Python 明確的 self 或 Java 隱含的 this)。

像 Python 或 JavaScript 可以指定 self instance 的語言中,區分方法與函式就沒什麼意義,高興怎麼叫就怎麼叫(Java 也可以透過 Reflection 來做)。

就語言實作層面來說,其實都類似,都是變數查找之類的,看是要明確的 self 或隱含地在環境物件之類的東西中找。

rein 積分 1

之前在 2aility1 看到的說法:

Due to ordinary functions always having the implicit parameter this, a better name for them would have been “methods”.

"因為在 JS function 會隱性帶入 this,因此 methods 會是更好的稱呼"

... 所以全部都是 method 啦 :Q,總之在 JS 分 function / method 的確沒有太多意義