[英]can someone tell me how/why this works in ff and ie
--script--
function myalert(name){
var obj=this;
obj.run=run;
function run(){
alert(name);
}
div=document.createElement('div');
div=document.body.append(div);
txt=document.createTextNode('alert');
div.appendChild(txt);
//**
div.onclick=function(){ obj.run(); }
//**
}
--html--
<div onclick="myalert('mee');">matt</div>
我發現很奇怪的是,從dom元素中在函數外部調用了obj.run(),並且還保留了函數參數
這個方法還有什么陷阱嗎?
這稱為Closure 。
關於這一點有很多值得閱讀的內容。
您正在尋找對“詞法范圍”的理解。 這是一種解釋: 什么是詞匯范圍?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.