小费爱小费

Javascript学习一数据类型

1、介绍js的基本数据类型  

   Undefined、Null、Boolean、Number、String

      (1) Undefined和Undifined区别      

         null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

  undefined:

  (1)变量被声明了,但没有赋值时,就等于undefined。

  (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

  (3)对象没有赋值的属性,该属性的值为undefined。

  (4)函数没有返回值时,默认返回undefined。

  null:

  (1) 作为函数的参数,表示该函数的参数不是对象。

  (2) 作为对象原型链的终点。

        (2)数据类型之间的转换              

                   typeof查看,返回六个字符串
                            number string boolean object undefined function
         (3)强制转字符串
                  String(变量) 可以转任何数据类型
                  变量.toString(); 除了null undefined,其它均可
         (4)强制转数字
                    Nunber(); 可以转任何数据类型,只有能转成功或不能转成功之分。
                    转成功就是数字,转不成功就是NaN
                    parseInt() 转整数
                    parseFloat() 转小数
                    如果转不成功,则返回NaN
        (5)隐式类型转换
                            + - * / % ++ --
         (6)NaN
                  1、NaN同谁都不相等,包括它自己
                  2、任何涉及NaN的操作返回的都是NaN
                  3、typeof查看返回的是number

          (7)isNaN
                      不喜欢数值(包括字符串的数字),但喜欢数值类型的NaN
                      喜欢的是非数字

2复杂数据类类       

        复杂、引用数据类型(object

   数据封装类对象:Object、Array、Boolean、Number 和 String

  其他对象:Function、Arguments、Math、Date、RegExp、Error    

       获取时间

 // 返回电脑操作系统的时间,时间对象,
 //这个对象下面有很多的属性,包括年月日星期时分秒
 var date = new Date();
 var year = date.getFullYear(); // 年
 var month = date.getMonth() + 1; // 月:0--11
 var d = date.getDate(); // 日
 var week = date.getDay(); // 星期 0--6(日一二三四五六)
 var h = date.getHours(); // 时
 var m = date.getMinutes(); // 分
 var s = date.getSeconds(); // 秒

 

new操作符

   (1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

   (2)属性和方法被加入到 this 引用的对象中。

   (3)新创建的对象由 this 所引用,并且最后隐式的返回 this 。

3 全等判定:

   相等,值是否相等,会发生类型转换

全等,值和类型都要相等才相等,不会发生类型转换
        console.log(1 == '1'); // true
        console.log(true == 1); // true
        console.log(null == undefined); // true,除此之外,它们不能和其它的值进行比较

        // === 全等,值和类型都要相等才相等,不会发生类型转换
        console.log(1 === '1'); // false
        console.log(true === 1); // false
        console.log(null === undefined); // false

        console.log(null !== undefined); // true
        console.log(null != undefined); // false

3、this对象的理解 

       this总是指向函数的直接调用者(而非间接调用者);

  如果有new关键字,this指向new出来的那个对象;

  在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window。

1 闭包:函数里面套函数,被嵌套函数就叫闭包。

   闭包特点:

function init() {
    var name = "Mozilla"; // name 是一个被 init 创建的局部变量
    function displayName() { // displayName() 是内部函数,一个闭包
        alert(name); // 使用了父函数中声明的变量
    }
    displayName();
}
init();

  

 

posted on 2018-10-18 14:48  小费爱小费  阅读(120)  评论(0)    收藏  举报