直接为变量赋值一个函数和引用一个函数有什么区别?
如:片段1和片段2
片段1
function fn(){ var box = document.getElementById("box"); box.onclick = function(){ console.log(111); }; box = null; }
片段2
function fn(){ var box = document.getElementById("box"); box.onclick = click; }function click(){ console.log(111); }
片段1中onclick里面的函数允许访问fn中的变量,而片段2中的onclick函数不允许访问fn中的变量,我是这样想的,因为片段2中的click由于是在fn外部定义的所以无法访问fn中的变量,那么也就是说在片段2中为onclick赋值实际上是引用而非拷贝?
慕斯王
相关分类