下小的演示說明我的問題:的JavaScript陣列繼承並使其全球
// 1 - Define a global reference to classA
(function() {
window.classA = new ClassA();
})();
// 2 - ClassA object definition
function ClassA() {
this.test1 = function() {
document.write('test1');
};
}
// 3 - ClassA inherits Array and has a test function
ClassA.prototype = new Array;
ClassA.prototype.test2 = function() {
document.write(this[0]);
}
// 4 - Test our ClassA
var c = new ClassA();
c.test1();
c.push('test2');
c.test2();
// 5 - Test our global ClassA
classA.test1();
classA.push('test2'); // doesn't work
classA.test2(); // doesn't work
嘗試在這裏:http://jsfiddle.net/SPSW4/
什麼是定義一個全局變量CLASSA(ClassA的實例)的正確方法?
你的意思是全球在靜態的?你有沒有考慮重新排序你的函數調用? –
全局變量(ClassA的一個實例) – Zyphrax
在JavaScript中沒有類並且命名一個函數_class_沒有任何意義。這使得閱讀非常混亂。請重新考慮你的命名約定;) –