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

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();

  

猜你喜欢

转载自www.cnblogs.com/weiaigewang/p/9810436.html