2015-11-26 2 views
-2

Это мой кодли possibile Добавить функцию по умолчанию (конструктор) для JS Object

var obj={a:1,b:2} 

Я не хочу, чтобы изменить код выше (это где-то еще) Я ищу способ для добавления функции (возможно, конструктора) к объекту. Таким образом, пользователи смогут запускать OBJ()

Я думал о

  • OBJ = функция() {} // Это удаляет все ключи выше
  • obj.contructor = функция() {} // Не работает

У вас есть другие идеи?

+1

Что вы подразумеваете под * «функция по умолчанию (конструктор)» *? Потому что ничто в вопросе или ваш собственный ответ на него не связано с созданием по умолчанию чего-либо и не использует конструкторы. –

ответ

-3

В середине задают вопрос, я нашел ответ: Используйте функцию extend

new_obj=function() {alert('the new function')} 
obj=jQuery.extend(new_obj,obj) 

//New I can run: 

obj.a // 1 
obj.b // 2 
obj() // will show an alert 
+1

'new_obj = obj' ничего не делает, поскольку после этого вы заменяете его функцией. Что вы здесь делаете: 'var x = function() {}; x.a = 1; x.b = 2; ' – Cerbrus

+0

Я не понимаю, почему вы делаете снизу. это работает – Aminadav

1

Поскольку функции также объекты в JavaScript, вы можете сделать это:

var x = function() { 
 
    return 0; 
 
}; 
 
x.a = 1; 
 
x.b = 2; 
 

 
document.body.textContent = x() + ' ' + x.a + ' ' + x.b;

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