dreamwalker 发表于 2008-4-2 12:28

脆弱的JS [ 关于context ]


<script type="text/javascript" language="javascript">
var FunObj=function(n){
    this._n=n;
    this.theFunc=function(){
      alert(this._n);
    }
}
window.onload=function(){
    //网页加载完后执行
    var p=FunObj();
    theFunc();
}
</script>


调用FunObj()时,this===window
里面的this.theFunc=..
相当于window.theFunc=..
这样,window对象就被加入了一个函数
这相当于又添加了一个全局函数...

写JS应用,不能和JS菜鸟合作....

dreamwalker 发表于 2008-4-2 12:34


<script>
var p="p是一个变量";
function p(){
alert("p是一个函数!");
}
window.onload=function(){
    p();
}
</script>

运行前请猜 猜会有什么结果

再看看下面这个例子:

<script>
var p="p是一个变量";
var p=function(){
      alert("p是一个函数对象");
}
window.onload=function(){
    p();
}
</script>
页: [1]
查看完整版本: 脆弱的JS [ 关于context ]