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 + ')');
......
JavaScript中没有Trim函数,VBScript语言中才有这个函数,就是去掉字符串头和尾的空格。可以在JavaScript中这么写一个:
<script language="JavaScript">
//此处为string类添加三个成员
String.prototype.Trim = function(){ return Trim(this);}
String.prototype.LTrim = function(){return LTrim( ......
//创建一个新的用户对象,接受一个有许多属性的对象作为参数
function User(properties)
{
for(var i in properties){(function(which){
var p=i;
//创建此属性的一个新的读取器(getter)
which["get"+p] = function(){
&nbs ......
label:statement
例:
start:var iCount = 10;
标签可以被后来的break语句或continue语句引用。
例:
var iNum=0;
outermost:
&n ......