JavaScript的运算符
delete只能删除开发者定义的属性或方法,原始的ECMAScript方法不能删除,因为不是开发者定义的,比如:toString()。
var o = new Object;
o.name = "Nicholas";
delete o.name;
alert(o.name);
删除了name属性,意味着强制解除对它的引用,将其设置为undefined。
void 对任何值都返回undefined。
用于避免输出不该输出的值,比如:
<a href="javascript:void(window.open('about:blank'))">Click Me</a>
~位运算符
例:
var iNum1 = 25; //25是 00000........011001
var iNum2 = ~iNum1; // 转换为11111........100110
alert(iNum2); //输出 -26
实际上,就是求负 再减一
^ 异或 <<左移 >>有符号右移 >>> 无符号右移
相关文档:
js eval
eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。
例子
直接运算
alert(eval('1+2')); // ->3
赋值
eval('var aa = 5');
alert(aa); // ->5
类型转换
var yy = "{a:'aa',b:'bb'}";
yy = eval('(' + yy + ')');
......
ECMAScript有无用存储单元收集程序,当在再没有对对象的引用时,称该对象被废除(dereference)了。
运行无用存储单元收集程序时,所有废除的对象都被销毁。
把对象的所有引用都设置为null,可以强制性的废除对象,例如:
var oObject = new Object;
.......
&n ......
label:statement
例:
start:var iCount = 10;
标签可以被后来的break语句或continue语句引用。
例:
var iNum=0;
outermost:
&n ......
引用类型通常叫做类(class),遇到引用值时,所处理的就是对象。
对象的创建:
var o = new Object();
如果没有参数可以省略括号,如:var o = new Object;
Object类:
&nb ......