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中,switch语句可以用于字符串,而且能用不是常量的值说明情况:
var BLUE="blue" , RED = "red" , GREEN = "green";
switch(sColor)
{
case BLUE: alert("Blue"); break;
&nb ......
函数
即使函数确实有返回值,也不必明确地声明它。该函数只需要使用return运算符后跟要返回的值即可。
例:
function sum(iNum1, iNum2)
{
  ......