如果我在控制台中执行此操作:
document.querySelectorAll('.error')
返回长度为3的对象。
如果任何属性值为空,那么我不希望运行 if 语句:
对此感到沮丧后(我使用的是 != ''
),互联网告诉我使用 !== ""
这是对象中属性的输出:
document.querySelectorAll('.error')[0]
""
document.querySelectorAll('.error')[1]
"some string"
document.querySelectorAll('.error')[2]
""
到目前为止,我对 JS 的陌生可能从我的问题中就可以看出。是检查空字符串以使用我所做的“最佳”方法!==
?
<script>
var errorElems = document.querySelectorAll('.error');
for(i=0; i<errorElems.length; i++) {
if(errorElems[i].textContent !== ""){
dataLayer.push({
"event": "errors",
"eventCategory": "error messages",
"eventAction": errorElems[i].id,
"eventLabel": errorElems[i].textContent
})
};
};
这似乎有效。但我是一个人在一台台式机上检查一个浏览器(Chrome),如果这很重要的话。
最完整的证明(但相当简单)意味着什么? !==
是最好的测试吗?
最佳答案
如果它是一个空字符串,则 !== ""
是正确的选择。如果它也可能是未定义的(因为在选择 DOM 元素时很可能发生),那么您应该进行如下检查:
if (typeof string !== 'undefined' && string !== "")
关于javascript - 如果语句为空字符串则运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640053/