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”属性或方法 });
相关推荐
加菲猫园 2013-06-16
pigsmall 2020-11-19
graseed 2020-10-28
大数据杂谈 2020-09-26
SXIAOYI 2020-09-16
jinhao 2020-09-07
ChinaWin 2020-08-13
mohanzb 2020-08-01
王国平 2020-06-20
yoohsummer 2020-06-01
kangtingting0 2020-05-20
MichelinMessi 2020-02-19
impress 2020-02-20
nicepainkiller 2020-01-25
hfszy0 2013-05-15
lizhenmxcz 2013-05-12
gxyblue 2013-05-11
chenshuixian 2013-06-01
羽化大刀Chrome 2013-05-31