有沒有辦法在流星中添加我自己的'原型功能'?流星Javascript原型
對於即
Element.prototype.hasClass = function (className) {
return new RegExp(' ' + className + ' ').test(' ' + this.className + ' ');
};
有沒有一種方法,我可以在客戶端文件夾中使用,並在客戶端文件夾在任何地方使用它?
有沒有辦法在流星中添加我自己的'原型功能'?流星Javascript原型
對於即
Element.prototype.hasClass = function (className) {
return new RegExp(' ' + className + ' ').test(' ' + this.className + ' ');
};
有沒有一種方法,我可以在客戶端文件夾中使用,並在客戶端文件夾在任何地方使用它?
流星是一個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和原型。
謝謝。流星1.0時我開始網絡開發。我想嘗試創建自己的原型來練習JS。 –
它超出了問題的範圍,但在那種情況下,我只能推薦一件關於JS的東西:閱讀,練習,閱讀更多,練習更多。不要忘記閱讀儘可能多的博客和書籍(我提供的鏈接是一個很棒的開始),JS是最容易被誤解的語言之一。 –
但是當我想製作一個「定製」/我自己的原型時呢? –
那麼你是在問創建原型還是關於變量範圍?或兩者? –
如果你把它放在client/lib中,它應該可以在其他地方訪問。 – Gaelan
@Kyll這個問題的原型。 –