1. 空值:null,undefined(NaN, Not a Number) e.g.: var bestAge=null; //null var currentCount; //undefined,NaN 作比较时,null value==undefined value :window.alert(bestAge==currentCount);//返回true;
2. 隐式类型转换: string + number == string + number.toString(); string + boolean == string + boolean.toString(); Boolean + number == number + 0/1;
3. 数据类型: 3.1 基本类型: string:由单引号或双引号括起; Number:integer和浮点数都被当作浮点数处理; Boolean:true/false;
3.2 复合类型 Object: Array:
3.3 特殊类型: Null:var v=null; typeof(v)=="object"; undefined:var v; typeof(v)=="undefined"; if(typeof(v) == "undefined"){}//注意要用引号
4. 操作符: 1==“1” //结果为true; 1===“1” //结果为false; delete/typeof/void/instanceof/new/in
5. Object & Array Array是一个特殊的Object,它拥有length属性。 例如: Array myArray = new Array(); myArray[100] == "hello";//则length属性自动增长到101; myArray.length=100;//则自动删除下后面的元素;
所以的Object都有自动扩张的特点,e.g.: var myObj = new object(); myObj.name="happyhippy"; myObj["age"]=23; myObj["Not A valid identifier"]="This is a valid Property"; myObj[100] = "100";
补充:在Array对象上扩张属性,并不会改变其length。 var myArr = new Array(); myArr["100"] = 'length变成101, “100”被当作数字处理'; myArr["100 "] = 'length还是101,“100 ”中间有空格,此时只能当作属性被处理';
6. 特殊对象 6.1 string: string.subString(7,4); //自动取较小的作为start,较大的作为end; string.length属性;
6.2 Math: Math.PI Math.pow(number,power);
6.3 Date: var today = new Date(); today.getYear(); today.getMonth(); today.getDate();
6.4 Number: Max_Value:(+/-)1.79E+308 Min_Value:(+/-)1.79E-308 NaN: Not a Number POSITIVE_INFINITY:1.79E+308 NEGATIVE_INFINITY:-1.79E+308 isNaN:判断是否为NaN值; var v=value/0;//或Number.NaN,来设置NaN值
7. 自定义对象: e.g: function MyObject(i,j) { this.p1 = i; this.p2 = j;//添加属性 this.toString = changeToString;//添加方法 }//任一函数,都可以当作构造函数和类型的定义 function changeToString() { return this.p1.toString()+this.p2.toString()+this.p3.toString(); } var myObj = new MyObject(1,2); myObj.prototype.p3 = 3; //添加属性 myObj.toString();//返回“123”
8. document.write()/document.writeln(); 当document不是正在被打开或解析,调用这些方法将会清空document,然后在write。
9. MessageBox: window.alert("Message"); var bool = window.confirm("OK to Continue; Cancel to Stop!"); var value = window.prompt("WelCome?","Enter your name here:");
解析window.event对象
http://www.cnblogs.com/teracy/archive/2007/07/25/831112.html