2009-03-06 41 views
3

如果我想的方法的isEmpty添加到所有的JavaScript數組,我會用下面的代碼JavaScript的增強原型生命週期

Array.prototype.isEmpty = function() { 
    return this.length == 0; 
} 

假設這個代碼是在一個文件foo.js.如果我想要在網站的所有頁面上都可以使用isEmpty,我是否需要在所有HTML文件中包含foo.js?換句話說,當用戶導航到不同的頁面時,原型是否會「重置」?

謝謝, 唐

回答

5

是經過修改的原型了,你會需要包括你的每個頁面加載代碼。

將每頁加載看作一個編譯/鏈接週期。頁面上的所有不同位的Javascript鏈接在一起然後作爲一個巨型程序執行。下一次加載頁面時,默認的JavaScript對象以新鮮狀態啓動。


1.在腦死亡「每一段代碼共享相同的全局命名空間」時尚

0

是,HTTP是無狀態的,從而每一頁分別加載。

但是,添加到Array.prototype不是一個好主意。這意味着如果你嘗試循環,你可能會陷入困境。

+0

你能成爲一個更具體一點,我怎麼可以讓自己陷入麻煩聯繫在一起? – 2009-03-06 01:41:26

3

是的,你必須每個頁面加載