Поиск подходящего ответа оказалось трудным из-за существования многих других проблем, связанных с моими ключевыми словами, поэтому я попрошу об этом здесь.
Как известно, функции в javascript являются объектами, и у них есть свои собственные свойства и методы (точнее, функции istances, унаследованные от Function.prototype).
Я рассматривал возможность добавления пользовательских свойств для одной функции (метода), пропустить "почему?". и перейдите прямо к коду:
var something = {
myMethod: function () {
if (something.myMethod.someProperty === undefined) {
something.myMethod.someProperty = "test";
}
console.log(something.myMethod);
}
}
При проверке с помощью Firebug DOM explorer свойство определяется как ожидаемое. Однако, поскольку я не считаю себя экспертом по javascript, у меня есть следующие вопросы:
- Можно ли считать этот метод "правильным" и соответствовать стандартам? Он работает в Firefox, но в веб-браузерах есть много вещей, которые ожидаются в браузерах и ни в коем случае не являются стандартами.
- Является ли этот вид изменяющихся объектов, добавляя к ним новые свойства?