Jquery高级编程阅读笔记1——javaScript基础

  1. 理解数值
    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
  2. 字符串
    字符串是一个由0个或者多个16位unicode字符组成。
  3. 布尔类型
    支持布尔的操作包括:&&,||,!
  4. 类型之间的比较
    等于(==)   等同(===)  对应的  !=    !==
    等于(==)是危险的,它在比较前,会进行强制类型转换
    > 1 == "1";
        true
  5. 日期
    var thisMoment = new Date();
  6. 其他类型
    声明一个变量但是未赋值,或者访问了一个不存在的对象属性,会返回一个undefined类型
  7. JavaScript支持类型
    number
    String
    Boolean
    Object
    Function
    Array
    RegEx
    Null
    Undefined
  8. try/catch
    try{
       throw new Error("错误信息")
    }catch(e){
       console.log(e.name+":"+e.message);
    }


  9. 变量
    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
     
  10. 理解对象
    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
     
  11. 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”属性或方法
              });

相关推荐