for循环中的D函数是否创建了不同的函数?按照之前的解释,for循环中的函数,会被for循环中后面的

<script>


var a = [];

//console.log(D); // undefined

for(var i=0;i<3;i++){


function D(){

    console.log('0');

}

a[i] = D;

}

console.log(a[0]==a[1]); // false---->for循环第一遍时产生的函数和第二遍for循环产生的函数不相等


console.log(a[0]);---------》但是分别输出函数,看到的是相同的函数

console.log(a[1]);---------》但是分别输出函数,看到的是相同的函数

</script>


叮当猫咪
浏览 407回答 1
1回答

一只名叫tom的猫

js 的函数都是保存在堆中,赋值给变量时其实赋值的是指针,而&nbsp;function D() {}&nbsp;这种方法其实每次都是在堆中创建了一个新的函数,只不过这几个函数内容相同而已。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript