2016-10-01 2 views
0

Я читаю про defineProperty().Почему использовать функцию для определения свойства?

, но я нашел эту запись в программе я не понимаю:

myObject.defineProperty("something", "propertyNameExample", function() 
{ 
// function body here 
}) 

, что я не понимаю, что function() {...} нотации.

какую роль он может сыграть для "propertyNameExample"?

, пожалуйста, объясните. спасибо

+0

Это функция. Возможно, сделать шаг назад и прокручивать некоторые основы JS, в частности, как функции могут быть (a) анонимными, и (b) передаваться как значения, было бы хорошей идеей. –

+1

Какой метод 'defineProperty'? Покажите нам код, который создает/определяет 'myObject'. – Bergi

ответ

1

Ничего (или технически не уверен), это не родной метод определения свойства в Javsacript.

Есть две вещи, здесь не так

  • Это должно быть Object.defineProperty не myObject.defineProperty
  • myObject.defineProperty будет определенной пользователем функции не родной функции.

В соответствии с documentation, третий аргумент является объектом дескриптора не function.

Даже если вы передадите функцию как параметр, она никак не влияет на функциональность, независимо от того, устанавливаете ли вы свойство или получаете свойство.

+2

Код, показанный OP, не похож на 'Object.defineProperty' вообще – Bergi

+0

@Bergi, который является истинным, он выглядит как более настраиваемый метод, чем собственный' Object.defineProperty' – gurvinder372

Смежные вопросы