删除 window 自定义的属性出错,在线等,急。。。。。。 定义一个window 属性 如下所示window["prop1"] = "1111111";之后, 执行 delete window["prop1"] 时总是出错,怎么回事呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delete 只能用于删除 JavaScript 内建对象属性的删除,或从数组中删除一个元素。例如:String.empty = "";delete String.empty;而 window 是浏览器对象,delete 就失效了。但是可以按以下方式达到与 delete 完全相同的结果:alert(window.prop1);window.prop1 = "1111111";alert(window.prop1);window.prop1 = undefined;alert(window.prop1); window["prop1"] = null;这样做 一旦通过window.prop="XXX"或者window["prop"]="XXX"为window添加一个自定义属性后,在该window对象中将一直存在!不可通过delete运算符删除,也不能通过window.prop=undefined删除。验证:<script language="javascript">function ForInDemo(){ window.$_$="test"; //与window["$_$"]="test"等价 window.$_$=undefined; //可以将undefined改为null看看 if ($_$ in window) { alert("window存在属性:$_$"); } else { alert("$_$ 属性不存在!"); } var s=""; for (mm in window) s+=mm+"<br>"; document.write(s);}ForInDemo();</script>我们可以看到打印出来的window的属性中包含了自定义属性:$_$顺便解释一下:我们把 window.$_$=undefined;弹出属性存在,当我们window.$_$=null时候,弹出属性不存在,这是因为null表示“无值”或“无对象”。换句话说,如果某个变量的值为null,则该变量没有保存有效的数、字符串、Boolean、数组或对象。 请帮忙加入一个输入文框 想问一下MSN首页上这个win8效果怎么做出来的?大神快来解答我 高手进来,一个页面3个框架,怎么让另外两个一起跟着变 又一时间问题 javascript还可以这样创建数组吗??能给我解释一下吗?? include 页面中的鼠标坐标获取 JQuery在IE6.0的问题 为什么IE6下的拖动 鼠标会不断抖动。。。。 请教!如何使个别的文本框使用windows默认的样式? document.write() 引发的 '$'未定义 图形界面生成SQL语句 关于vml问题。请帮忙
String.empty = "";
delete String.empty;而 window 是浏览器对象,delete 就失效了。
但是可以按以下方式达到与 delete 完全相同的结果:alert(window.prop1);
window.prop1 = "1111111";
alert(window.prop1);
window.prop1 = undefined;
alert(window.prop1);
<script language="javascript">
function ForInDemo(){
window.$_$="test"; //与window["$_$"]="test"等价
window.$_$=undefined; //可以将undefined改为null看看
if ($_$ in window)
{
alert("window存在属性:$_$");
}
else
{
alert("$_$ 属性不存在!");
}
var s="";
for (mm in window)
s+=mm+"<br>";
document.write(s);
}
ForInDemo();
</script>我们可以看到打印出来的window的属性中包含了自定义属性:$_$顺便解释一下:
我们把 window.$_$=undefined;弹出属性存在,当我们window.$_$=null时候,弹出属性不存在,这是因为null表示“无值”或“无对象”。换句话说,如果某个变量的值为null,则该变量没有保存有效的数、字符串、Boolean、数组或对象。