Jquery高级编程翻阅笔记1——javaScript基础
Jquery高级编程阅读笔记1——javaScript基础
-
理解数值
JavaScript中所有的数值都是64位双精度的,整数和浮点数没有什么区别
>typeof 1
number
>typeof 1.5
number
JavaScript没有内置的十进制数据类型,可以用如下方法格式化固定位数的小数
>var num = 1234.12345123;
>num.toFixed(2);
1234.12
var num2 = 1234.12345123;
>num2.toPrecision(8)
1234.1234
当使用超出64位范围的数值时,JavaScript将返回一个特殊数值:infinity,"非数值"表示为NaN,可以用isNaN()来检测
JavaScript内置Math对象最为数据运算
//获取两位数精度
Math.round((0.1+0.2)*100)/100
0.3 -
字符串
字符串是一个由0个或者多个16位unicode字符组成。 -
布尔类型
支持布尔的操作包括:&&,||,! -
类型之间的比较
等于(==) 等同(===) 对应的 != !==
等于(==)是危险的,它在比较前,会进行强制类型转换
> 1 == "1";
true -
日期
var thisMoment = new Date(); -
其他类型
声明一个变量但是未赋值,或者访问了一个不存在的对象属性,会返回一个undefined类型 -
JavaScript支持类型
number
String
Boolean
Object
Function
Array
RegEx
Null
Undefined -
try/catch
try{
throw new Error("错误信息")
}catch(e){
console.log(e.name+":"+e.message);
}
-
变量
i=0 // 隐身声明,具有全局作用,即使该变量是在某个函数中声明的
var i =0 //显示声明,是局部变量,该变量是持久的,且不能删除该变量,但是可以进行多次声明function where(){ var v1="local scope"; v2 = "global scope"; } where(); console.log(v2); console.log(v1); >>> global scope >>> v1 is not defined
-
理解对象
JavaScript对象类似于Java对象,是属性的集合,每个属性具有一个名称和一个值。
数组,函数,正则表达式都是对象
数值,字符串和布尔值也是对象,但他们是不可变的对象
实例化对象两种方法
①new
function Zombie( name ){
this.name = name;
}
var smallZombie = new Zombie( "Booger" );
②对象字面量(更加方便,推荐)
var species = {
"mammals" : {
"biped" :{
"monkey" :"George",
"human":"time"
}
}
}
访问 species.mammals.biped.human遍历对象所有属性 var obj = {"property1":1,"property2":2 } var i; for(i in obj){ console.log(i) } >>>property1 >>>property2
-
JavaScript使用原型继承,对象直接从其他对象继承,从而创建新的对象。对象继承了另外一个对象的属性
Object.prototype位于继承层次的顶端,其他对象都继承了该对象$(function(){ function Monster(type){ this.type = type; }; Monster.prototype.getType=function(){ return this.type; }; function Zombie(name){ this.name = name; }; Zombie.prototype = new Monster(); Zombie.prototype.eatPeople = function(){ console.log("tastes like chicken"); }; var smallZombie = new Zombie("Tom"); smallZombie.eatPeople(); >>>tastes like chicken //删除原型属性 delete Zombie.prototype.eatPeople; smallZombie.eatPeople(); >>>对象不支持“eatPeople”属性或方法 });