JScriptdelete Operator Deletes a property from an object, or removes an element from an array.delete expression The expression argument is a valid JScript expression that usually results in a property name or array element. Res If the result of expression is an object, the property specified in expression exists, and the object will not allow it to be deleted, false is returned.In all other cases, true is returned.Requirements Version 3
Deletes a property from an object, or removes an element from an array. 从一个对象删除一个属性,或从数组删除一个元素。HTML的每一个对象都是其对象列表数组的一个元素。
<script>
delete Obj1;
</script>//对象确实被从JS堆栈中删除,你将不能再控制它,但是他仍然在页面(属于HTML)中显示。
<script>
delete Obj1;
</script>
这段代码是干什么用的? 我好象从来都没有看到过, 恕我眼拙!
removeChild
removeNode
outerHTML
你通过 display visibility 方式隐藏的方法并没有清除掉控件, 只是隐藏而已.
delete Obj1; 这句代码在你那里可以运行通过吗? 你的浏览器是什么浏览器?
Deletes a property from an object, or removes an element from an array.delete expression
The expression argument is a valid JScript expression that usually results in a property name or array element. Res
If the result of expression is an object, the property specified in expression exists, and the object will not allow it to be deleted, false is returned.In all other cases, true is returned.Requirements
Version 3
从一个对象删除一个属性,或从数组删除一个元素。HTML的每一个对象都是其对象列表数组的一个元素。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Demo</title>
</head>
<body>
<div id=Obj1>Demo</div>
<script>
delete Obj1;
alert(Obj1);
</script>
</body>
</html>
代码2:提示[Object]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Demo</title>
</head>
<body>
<div id=Obj1>Demo</div>
<script>
alert(Obj1);
delete Obj1;
</script>
</body>
</html>
你在htm文件中分别执行上面两个代码的结果是不同的。
alert对不明来历的标识符是不执行的也就是在调用其之前如果删除了给其的对象alert就不执行了。
我知道你的代码是怎么通过了, 因为这句代码是错误的, 但是你的浏览器设置里没有设置必须弹出错误信息, 所以你看不到错误的信息, 但是由于这句的代码是错误的, 所以阻止了下面JS代码的运行, 当然它后面的那个 alert 没有弹出来, 若我把你的代码改一下, 加一个按钮:
<input type=button value=hrong onclick="alert(Obj1.innerText)"> 你再试试看就知道了
<script>Obj1.outerHTML="";</script>或
<div id="Obj1"><object>...</object></div>
<script>Obj1.innerHTML="";</script>
delete 运算符是个一元运算符,它将删除运算数所指定的对象的属性,数组元素或变量.
如果删除成功,返回true,如果不能被删除,它将返回false.并非所有的属性和变量都可以
删除的,某些内部的核心属性和客户端的属性不能删除,用var语句声明的变量也不能删除.
(ECMAScript标准规定,当delete运算的运算数不是属性,数组,或变量时,返回true)var o = {x:1,y:2}; //定一个变量,把它初始化为一个对象
delete o.x; //删除一个对象属性,返回true
typeof o.x; //该属性不存在,返回"undefined"
delete o.x; //删除一个不存在的属性,返回true
delete o; //不能删除未声明的变量,返回false
delete 1; //不能删除整数,返回true
x = 1 //不用var关键字,隐式地声明一个变量
delete x; //不能删除这种变量,返回true注意:
delete所能影响的只是属性值,并不能影响这些被属性引用的对象.var my = new Object(); //创建一个名为my的对象
my.hire = new Date(); //my.hire引用一个Date对象
my.fire = my.hire; //my.fire引用同一个Date对象
delete my.hire; //hire属性被删除,返回true
document.write(my.fire); //但my.fire仍然引用那个Date对象From: The Definitive Guide
delete所能影响的只是属性值,并不能影响这些被属性引用的对象.
所以,很明显,不能卸载对象.
<%
........
dbConnection = Server.CreateObject("ADODB.Connection");
rs = Server.CreateObject("ADODB.Recordset");
.......rs.Close();
dbConnecton.Close();
delete rs; //VBScript是 set rs = nothing
delete dbConnection; //这样算是卸载对象?
%>
<object id="Obj1">...</object>
<script>Obj1.outerHTML="";</script>还有一个疑问,如何判断一个对象是否存在?因为我是通过一个按钮把其卸载的,如果用户再按第二次(绝对要允许用户按多次)就会提示:‘Obj1.outerHTML’对象为空或不是对象