Javascript 在JS中执行undefined和createElement的更好方法
有没有更好或更干净的方法来用JS编写以下代码Javascript 在JS中执行undefined和createElement的更好方法,javascript,Javascript,有没有更好或更干净的方法来用JS编写以下代码 var element = document.getElementById("abc"); if (element === undefined) { var element = document.createElement("div"); element.id="abc"; } let element=document.getElementById(“abc”); if(!元素){ 元素=document.createElement(
var element = document.getElementById("abc");
if (element === undefined) {
var element = document.createElement("div");
element.id="abc";
}
let element=document.getElementById(“abc”);
if(!元素){
元素=document.createElement(“div”);
element.id=“abc”;
}
let element=document.getElementById(“abc”);
if(!元素){
元素=document.createElement(“div”);
element.id=“abc”;
}
要精确复制示例代码:
let element = document.getElementById ("abc") || document.createElement ("div");
element.id="abc";
或者如果这是元素所需的唯一操作
(document.getElementById ("abc") || document.createElement).id) = "abc";
但是请注意,如果执行了
createElement
,新元素将不会出现在文档中。要准确复制示例代码:
let element = document.getElementById ("abc") || document.createElement ("div");
element.id="abc";
或者如果这是元素所需的唯一操作
(document.getElementById ("abc") || document.createElement).id) = "abc";
但是请注意,如果执行了
createElement
,新元素将不会出现在文档中。在我看来非常干净。除非您将使用let
而不是var
,并将第二个var
关闭以重用相同的变量。您不应该与未定义的变量进行比较。如果没有ID为“abc”的元素,那么document.getElementById将返回null,因此您应该将其与之进行比较(尽管在实践中,如果(!element){…}就足够了,则它没有任何区别)。:-)我觉得很干净。除非您将使用let
而不是var
,并将第二个var
关闭以重用相同的变量。您不应该与未定义的变量进行比较。如果没有ID为“abc”的元素,那么document.getElementById将返回null,因此您应该将其与之进行比较(尽管在实践中,如果(!element){…}就足够了,则它没有任何区别)。:-)“如果这是元素所需的唯一操作”,似乎不太可能。我看不出有什么理由创建一个元素并给它分配一个ID,然后不保留对它的引用。“如果这是该元素唯一需要的操作”似乎不太可能。我看不出创建元素并为其分配ID,然后不保留对它的引用的原因。const
应该是let
。当我运行代码段时,我的浏览器会抱怨:Assignment to constvariable@HBP,谢谢,先生,更改:-)const
应该是let
。当我运行代码段时,我的浏览器会抱怨:Assignment to constvariable@HBP,谢谢,先生,更改:-)