var name = 'window下的name<br/>'; var resultCon; function fn1(myScope) { with (myScope) { resultCon.innerHTML += name; } } function MyObj(myScope) { var name = 'MyObj下的name<br/>'; this.doFunction = function(myScope) { with (myScope) { resultCon.innerHTML += name; } }; } window.onload = function() { resultCon = document.getElementById('result'); var name = "onload下的name<br/>"; var fn2 = function(myScope) { with (myScope) { resultCon.innerHTML += name; } }; var myScope = { name : "自定义变量查询域</br>" }; fn1(myScope);//自定义变量查询域 fn2(myScope);//自定义变量查询域 var obj = new MyObj(); obj.doFunction(myScope);//自定义变量查询域 };
<div id="result">代码输出结果:<br/></div>