Diamo un'occhiata a come il javascript specifiche ECMA-262 descrive il termine proprietà
http://www.ecma-international.org/ecma-262/5.1/#sec-4.3.26
4.3.26 proprietà
associazione tra un nome e un valore che è una parte di un oggetto
NOTA A seconda della forma della proprietà il valore può essere rappresentato direttamente come valore di un dato (un valore primitivo, un oggetto o un oggetto funzione) o indirettamente mediante una coppia di funzioni di accesso .
4.3.27 metodo
funzione che è il valore di una proprietà
NOTA Quando una funzione viene richiamata come metodo di un oggetto, l'oggetto è passato alla funzione come questa valore.
anche
definizione JavaScript dell'attributo è diverso da attributo di Java
4.3.29
valore interno che definisce alcune caratteristiche di una proprietà
for in
, passanti attraverso le proprietà enumerabili di un oggetto, e che include le funzioni
http://eloquentjavascript.net/1st_edition/chapter8.html
"Una funzione viene richiamata come metodo quando viene cercato come proprietà, e subito chiamato, come in object.method(). "
Ci sembra essere una definizione più standard di proprietà ..
https://en.wikipedia.org/wiki/Property_(programming)#JavaScript
"Una proprietà, in alcuni linguaggi di programmazione orientati agli oggetti, è una speciale sorta di membro della classe , intermedio tra un campo (o dati membro) e un metodo. .... Alcuni linguaggi orientati agli oggetti, come Java, non supportano le proprietà e richiedono al programmatore di definire una coppia di accessor e mutator metodi invece. "
In quella più standard, la definizione non javascript della proprietà
C# ha proprietà, e Java non hanno proprietà
Probabilmente siete avanti di te; dovresti leggere su [Object-Oriented Programming] (http://en.wikipedia.org/wiki/Object-oriented_programming) in generale, in primo luogo, poiché la tua domanda non è specifica di Javascript. Se anche la distinzione tra dati e funzioni non è chiara, è necessario eseguire un ulteriore backup. – lanzz
Inoltre, penso che la distinzione non si applica in particolare a JS in particolare, poiché un * metodo * è solo una funzione memorizzata in una proprietà (ottenendo implicitamente il contesto della funzione impostato sull'oggetto dopo averlo chiamato come metodo). – Yoshi
Non è necessario applicare a JS in particolare perché mi chiedo come funzioni nella lingua specifica che sto attualmente imparando. Apprezzo i collegamenti e il consiglio, guarderò attraverso quelli. Quello che sto cercando di capire è la semantica di JS, ** come scriverlo **, anche questa è una parte importante del processo. Ognuno ha il proprio stile di apprendimento e questo mi aiuterebbe davvero a capire JS. – jon