如何制作与Window
无关的新myWindow
对象window
(因此修改例如myWindow.Array.prototype
不会影响window.Array.prototype
), 没有创建<iframe>
?
目前我正在按照以下方式进行操作
function newWindow(){
var myFrame = document.createElement('iframe'), myWindow = undefined;
myFrame.style.display = 'none';
myFrame.src = 'javascript:undefined;';
document.body.appendChild(myFrame);
myWindow = myFrame.contentWindow;
document.body.removeChild(myFrame);
return myWindow;
}
最终,我想制作我自己的核心对象类型副本并对其进行原型化。
答案 0 :(得分:2)
window.open
,但它会打开一个新窗口。而且......为什么你需要它呢?看起来你走错了路。
答案 1 :(得分:0)
根据您的工作情况,更好的方法可能是创建一个普通数组,然后使用您需要的功能扩充一个特定的数组实例。
function augmentArray(a) {
a.purgeAll = function() {a.length = 0;};
}
var myList = [1, 2, 3];
augmentArray(myList);
myList.purgeAll();