我有一个功能
function processDocument (document) {
if (document.name === "client-invoice") {
// Do something with the document
}
}
document
是我从其他地方获得的对象,因此它不是浏览器文档,而是任何具有相同名称的对象。我怀疑当我检查document.name
等于某个值时,它不会查看传递的参数对象,而是查看浏览器文档对象。
如果是这样,我将重命名我的变量,使其与浏览器document
对象不冲突。
问题是,我的假设是正确的,我应该避免命名我的变量document
吗?
答案 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')