2015-04-18 1 views
-1

Есть ли способ добавить собственные функции прототипа в метеор?Meteor Javascript Prototype

Для т.е.

Element.prototype.hasClass = function (className) { 
return new RegExp(' ' + className + ' ').test(' ' + this.className + ' '); 
}; 

Есть ли способ, я могу использовать это в стороне папки клиента и использовать его везде в папке клиента?

+0

Так вы спрашиваете о создании прототипов или о переменных масштабах? Или оба? –

+0

Если вы положили его в client/lib, он должен быть доступен везде. – Gaelan

+0

@Kyll Prototypes для этого вопроса. –

ответ

1

Meteor - это основа Node.JS, которая является чисто JavaScript. Из этого вы можете делать все, что обычно можете, включая добавление методов к существующим прототипам или их изменение вообще (например, изменение прототипа Array для добавления методов на массивы).

Однако это поведение не рекомендуется. Это создает очень высокую связь между вашим кодом и способами, определяющими среду. Это может также вызвать сильные несовместимости и дисфункции в библиотеках.

Если вам нужно сменить прототип (например, чтобы добавить свои собственные функции) на пакет/плагин/фрейм, обратитесь к его документации (некоторые могут посоветовать скорее составить объекты с помощью extend()).

Не меняйте прототипы объектов JS по умолчанию.

Вот небольшой пример того, как создать собственный прототип, а затем использовать его с объектом:

var userPrototype, user; 

userPrototype = { 
    sayHi : function() { 
    if(_.has(this, name)) { 
     return 'Hi, my name is ' + this.name + '!'; 
    } 
    return '... Who am I?'; 
    } 
}; 

user = Object.create(userPrototype); //user has userPrototype as prototype 

user.name = 'Will'; 
user.sayHi(); //Returns 'Hi, my name is Will!' 

В качестве бонуса, вот free book о JS и прототипов.

+0

Спасибо. Я начал веб-разработку при метеоре 1.0. Я хотел попробовать создать собственные прототипы, чтобы практиковать JS. –

+0

Это выходит за рамки вопроса, но в этом случае я могу рекомендовать только JS: читать, практиковать, читать больше, практиковать больше. Не забудьте прочитать как можно больше блогов и книг (ссылка, которую я предоставил, является удивительным началом), JS - один из самых непонятных языков. –

+0

Но как насчет того, когда я хочу создать «собственный»/собственный прототип? –