我想知道当我使用 childElementCount 运行超时时,chrome 开发控制台中的这个神秘输出是什么,每次重新运行函数时它似乎都会递增 1。
function Eggs(){
var f = document.getElementById("x").childElementCount;
console.log(f);
}
setTimeout(Eggs(), 3000);
/* output should be:
0
8
in the chrome console */
<!DOCTYPE html>
<html>
<body>
<div>
<div>
<div id="x"></div>
</div>
</div>
</body>
</html>
它工作得很好,给了我正确的孩子数量
尝试如下:
let eggs = function () {
let el = document.getElementById('x');
console.log(el.childElementCount);
};
setTimeout(eggs, 3000);
函数名称必须在驼峰大小写中!
eggs
变量存储函数,但eggs()
- 给我们调用它的结果(函数返回的结果(。
let eggs = function () {
return function () {
let el = document.getElementById('x');
console.log(el.childElementCount);
};
};
setTimeout(eggs(), 3000);
setTimeout(function Eggs(){
var f = document.getElementById('x').childElementCount;
console.log(f)
},3000);
<!DOCTYPE html>
<html>
<body>
<div>
<div>
<div id="x"></div>
</div>
</div>
</body>
</html>