Я работаю на некоторый код JavaScript, который определяет некоторые методы класса, определяя прототип объекта, как показано ниже:Javascript имени функции присваивается свойству
/**
* @constructor
*/
function MyClass() {
var someField = 'hello world';
}
MyClass.prototype = {
getSomeField1: function getSomeField2() {
return someField;
}
};
У меня есть два вопроса:
Что такое
getSomeField2
, и будет ли он доступен для любого кода?Может ли кто-нибудь привести примеры сценария, где было бы полезно использовать разные имена для ключа и имени функции? Я бы подумал, что это просто путает людей, читающих код.
Во всех других случаях аналогичного кода либо имя свойства, либо имена функций совпадают, либо функция не указана.
Разве это не другой вопрос немного отличается? Мой вопрос о названной функции как ключевое значение в объекте. –
Связанный вопрос (чтобы закрыть этот) не говорил о случае, когда у вас есть именованная функция, назначенная для свойства, поэтому я снова открыл его –
@RichyRich, если вы используете 'arguments.callee', тогда вы получите' getSomeField2' как имя. – Jai