一、javascript主要由三部分构成
1、ECMAScript 描述了该语言的语法和基本对象
2、DOM描述了处理网页内容的方法和接口
3、BOM描述了与浏览器进行交互的方法和接口
二、ECMAScript基础
请查看<<javascript高级程序设计>>
原始类型
1、typeof运算符
检查变量的值或者值
var sTemp = "test string";
alert(typeof sTemp); //outputs "string"
alert(typeof 95); //outputs "number"
"undefined" 变量是Undefined型
"boolean" 变量是Boolean型
"number" 变量是Boolean型
"string" 变量是Number型的
"object" 变量是一种引用类型或null类型的
注意:十进制值最多可以有17个十进制位。17位之后的值将被截去,从而造成一些小的数学误差
当计算生成的数大于Number.MAX_VALUE时,它将被赋予Number.POSITIVE_INFINITY,意味着不再有数字值。同样,生成的数值小于Number.MIN_VALUE时计算也会被赋予值Number.NEGATIVE_INFINITY也意味着不再有数字值。
有专门的值表示无穷大Infinity,无穷小为-Infinity
判断无穷小的函数isFinite();
三、转换
转换是javascript中比较重要的一个
1、转换为字符串
toString();
将数字转换为进制模式字符串toString(number);//number代表着要转换的字符串的进制数
2、转换成整数
var isNum1 = parseInt("1234blue"); //return 1234;
var isNum2 = parseInt("0xA"); //return 10;
var isNum3 = parseInt("22.5"); //return 22;
var isNum4 = parseInt("blue"); //return NaN 不是一个数字
将16进制的数转换为整数
var isNum1 = parseInt("AF",16);
将前面有0的十进制数,采用基数十
var isNum1 = parseInt("010",10);
3、同理parseFloat();
四、对象类型
原理:对象是以变量为引用,然后申明一个堆空间,这个变量直接寻址到栈的指令空间,栈的指令空间里面存储的是堆的地址,也就相当于间接寻址
语法:var s=new Object();
Object具有下列属性
Constructor 对创建对象的函数的引用
Prototype 对该对象的对象原型的引用
Object具有下列方法
HasOwnProperty(property);//判断对象是否具有某个特定的属性,o.hasOwnProperty("name");
IsPrototypeOf(object); //判断该对象是否为另一个对象的原型
PropertyIsEnumerable(property);//判断给定的属性是否可以用for...in语句进行枚举
ToString(); //返回对象的原始字符串表示
ValueOf(); //返回最适合该对象的原始值
instanceof运算符
必须明确指定对象的类型
五、函数重载的似实现
function doAdd()
{
if(arguments.length==1)
{
alert(arguments[0]+10);
}else if(arguments.length == 2)
{
alert(arguments[0]+arguments[1]);
}
}
doAdd(10); //output 20
doAdd(30,20); //output 50
六、函数
可以写成
doAdd = new Function("iNum","alert(iNum +100)");//前面是参数名,后面是执行方法