一、数据类型
1、基础类型:
Number 可以使用isNaN(number)函数检测参数是否“不是数值”、
String代码中需要显示特殊字符时,使用反斜杠()转义、
Boolean任何非空字符串可以转为true,任何非零数字值(包括无穷大)可以转换成true、
Null、Undefined在JavaScript中null==undefined,但null===undefined是false,undefined可以认为是系统出乎意料的错误,而null是程序意料中的“空值”,如果想把两者赋值给变量或属性,最好选择是null
2、对象类型:object(Array、Function、Date...)
对象可以看成是属性的无序集合,每个属性都是一个名/值对;
创建对象两种方式:(1)、var obj=new Object();
obj.name='xiaoming';
obj.age=20;
(2)、var obj={
name='xiaoming',
age=20
}
注意:属性名中含有空格、特殊字符或保留字时一定要加上引号,如:var obj={
'name'='xiaoming',
'Class Name':'ClassThree'
}
属性值访问两种方式:(1)、对象.属性名,如document.write(obj.name);实际开发中使用点操作符的多一些
(2)、对象['属性名'],如document.write(obj['name']);
删除属性:delete 对象.属性名,如delete obj.name;开发中可以使用 对象.hasOwnProperty("属性名")函数判断对象中是否包含该属性,如果包含返回true,否则返回false。
注意:把属性设置为null或undefined只是移除了属性和值的关联,并未真正删除属性,故该属性还是存在于对象中。
二、数组
两种使用方式:1、使用Array构造函数,如:var arr=new Array();arr[0]=1;arr[1]=2;arr[2]=3;或var arr=new Array(1,2,3);
2、使用字面量表示法,如:var arr=[1,2,3];
三、函数
函数可作为值进行传递:如,function funcName(someFunc,someParam){
return someFunc(someParam);
}
function sum(num){
return num+3;
}
var result=funcName(sum,5);
函数调用模式:1、方法调用模式,如 var myObj={
param1:1,
param2:2,
sum:function(){
return this.result=this.param1+this.param2;//this指当前对象
}
};
myObj.sum();//输出3
2、函数调用模式,如 var add=function(a,b){ 或 function add(a,b){
return a+b; return a+b;
}; }
add(2,3);//输出5
3、构造器调用模式,如 var add=function(){//区别于字面量对象属性调用函数的方式,此处this.name后面是“;”而不再是“,”
this.name='';
this.sum=function(a,b){
return a+b;
}
}
var obj=new add();
obj.sum(1,2);//输出3