0

document我在为我的 JavaScript覆盖对象时遇到了麻烦。

function myFunction(document) {
    [code]
}

工作正常。但

function myFunction(newDocument) {
    document=newDocument
    [code]
}

才不是。到目前为止,我使用前一种方法的功能很好,但我宁愿只覆盖文档对象一次而忘记它。如果有人可以向我展示全局覆盖文档对象的正确方法,我将不胜感激。

4

1 回答 1

2

我要站出来说这不能做,也不应该做。

如果您替换当前document对象(您script正在运行的对象),那么您的脚本不会超出范围/上下文吗?

我做了一个小提琴(http://jsfiddle.net/V3Rsh/),表明这无法做到(至少在 Firefox 20 中)。document如果您查看控制台,它会在分配前后报告相同的 URL 。但是,如果您调试并在第一个断点上放置一个断点console.log()并在控制台中手动运行 document = newDocument() 行,您将看到document创建的对象具有“about:blank”URL。但随后的调用并未console.log()反映这一点。

于 2013-05-10T23:28:23.447 回答