在javascript中重命名文档变量是否安全?

疯狂的埃切特

我注意到,谷歌关闭编译没有重命名document为类似d减少的空间。

我想不出这会破坏代码的情况(即,document指向其他东西的情况)。其实也是一样window

有保护document这种方式的理由吗?

==编辑==

通过重命名,我正在考虑重新分配它。下面的例子。

var d=document;
var obj1=d.getElementById("obj1");
var obj2=d.getElementById("obj2");
... // with enough uses of document so it makes to reassign it size-wise.
本杰明·格伦鲍姆(Benjamin Gruenbaum)

怎么了?

ProblemFactory的猜测是正确的。

这是//TODO封闭编译器中的源代码。例如,如果我们没有保留documentwindow而是使用它们进行了遍历d,那么当前关闭编译器将不知道它是否正在从另一个文件覆盖全局。就像评论说的那样,这将在将来解决。

足够的话,告诉我源!

如果检查内部的闭包编译器源代码,VariableReferenceCheck.java则会发现以下内容:

 private class ReferenceCheckingBehavior implements Behavior {

    @Override
    public void afterExitScope(NodeTraversal t, ReferenceMap referenceMap) {
      // TODO(bashir) In hot-swap version this means that for global scope we
      // only go through all global variables accessed in the modified file not
      // all global variables. This should be fixed.

      // Check all vars after finishing a scope
      for (Iterator<Var> it = t.getScope().getVars(); it.hasNext();) {
        Var v = it.next();
        checkVar(v, referenceMap.getReferences(v).references);
      }
    }

如果检查热交换算法本身,我们可以看到:

// Note we use the global scope to prevent wrong "undefined-var errors" on
// variables that are defined in other JS files.

因此,我们可以看到,这只是闭包编译器无法充分理解跨多个文件的全局代码以进行替换。您随时可以自己更换:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在主函数中重命名argc和argv是否安全?

来自分类Dev

使用readdir重命名文件是否安全?

来自分类Dev

重命名Django迁移文件是否安全?

来自分类Dev

在 JavaScript 中是否有重命名 document.querySelector 等的约定?

来自分类Dev

重命名标准命名的.deb文件是否安全?

来自分类Dev

在MongoDB 2.4中具有DottedFieldName的嵌入式文档上是否要重命名?

来自分类Dev

MongoDB:重命名集合中的字段(文档和子文档)

来自分类Dev

重命名子类中的变量

来自分类Dev

重命名合并中的SAS变量

来自分类Dev

写入文件时重命名文件是否100%安全?

来自分类Dev

写入文件时重命名文件是否100%安全?

来自分类Dev

重命名使用 gpg 公钥加密的文件是否安全?

来自分类Dev

是否可以仅授予用户使用安全规则访问在Firestore中以其uid命名的文档的权限?

来自分类Dev

是否可以在 Fiware 中重命名设备?

来自分类Dev

在Ruby YARD文档中弃用重命名的属性

来自分类Dev

根据文档中的文本用python重命名.doc或.docx

来自分类Dev

动态重命名变量

来自分类Dev

重命名javascript数组中的键

来自分类Dev

重命名javascript数组中的键

来自分类Dev

如何在javascript中重命名函数

来自分类Dev

在git中重命名遥控器安全吗?

来自分类Dev

禁用重命名PDF文档

来自分类Dev

为javascript中的变量命名

来自分类Dev

如何在esttab中批量重命名变量

来自分类Dev

重命名TensorFlow中已保存模型的变量范围

来自分类Dev

重命名变量,无论其在SAS中的名称如何

来自分类Dev

使用assign()循环R中的重命名变量

来自分类Dev

如何在重命名命令中增加变量值

来自分类Dev

如何在cbind / aggregate中重命名变量?

Related 相关文章

热门标签

归档