使用“文档”来命名我的变量是否合法?

时间:2016-05-19 08:22:01

标签: javascript dom browser

我有一个功能

function processDocument (document) {
    if (document.name === "client-invoice") {
        // Do something with the document
    }
}

document是我从其他地方获得的对象,因此它不是浏览器文档,而是任何具有相同名称的对象。我怀疑当我检查document.name等于某个值时,它不会查看传递的参数对象,而是查看浏览器文档对象。

如果是这样,我将重命名我的变量,使其与浏览器document对象不冲突。

问题是,我的假设是正确的,我应该避免命名我的变量document吗?

2 个答案:

答案 0 :(得分:1)

  

是我的假设正确

没有



var document_copy = document;

function myFunction(document) {
    alert("Locally scoped document === global document_copy: " + (document_copy === document));  
}

myFunction("some value");




  

我应该避免命名我的变量文档吗?

是。这个名称可能会让那些必须维护代码的人感到困惑。

答案 1 :(得分:0)

不,它会起作用。

但我可以建议您避免在代码中使用document命名变量。它将来可能会混淆。



function processDocument (document) {
  
  alert(document);
  
  if (document.name === "client-invoice") {

    return ''
  }
}

processDocument('Test')