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