详细分析JavaScript变量类型

  变量类型 

  只有6种 : 四种原始数据类型boolean , number, string , undefine, 其他object,function是对象

  typeof,instanceof  

  直接看实例:

    var obj = null;
    console.info(typeof obj);    //Object
    var arr = [];
    console.info(arr instanceof Object);  //true
    console.info(arr instanceof Array);  //true

  原始数据类型的包装对象(Wapper Object)

  string,number,boolean都对应着特定的包装对象

  数据类型转换 

  用parseInt,parsetFolat转换到数值类型

console.log(parseInt("34", 10)); //34
console.log(parseInt("34s5b", 10)); //34
console.log(parseInt("s", 10)); //NaN
console.log(parseInt(3.14, 10)); //3

    javascript是动态类型的编程语言,同一个变量,抓取啥类型的数据就是啥种变量类型

//number
var value = 100;
//string
value = "qiu";
//object
value = [1, 'two', 3];

  "="号的各种花样:

  =         赋值

  ==       判等

  ===     严格判等

var x = 42;
var y = "42";
console.log(x == y) //true;
console.log(x === y) //false

  undefined  vs  null

  udefine: 指变量未定义,没有一个有效值   (还没变量,何从谈值)

  null :       nothing , 某变量不引用任何的对象。 null是对象 ,类型object   (有变量,但不引用值)

var obj = null;
if (obj === null) {
alert("obj === null"); //此句将执行
}
else {
alert("obj!=null");
}
alert(typeof obj); //object

  undefine与null的 判等

var myVar;
//true
console.log(typeof myVar === "undefined");
console.log(myVar === undefined);
var myVar2 = null;
console.log(typeof myVar2); //object
//true;
console.log(myVar2 == null);
console.log(myVar2 === null);
//true
console.info(myVar == myVar2); //undefine == null; 是true
//false
console.info(myVar === myVar2); //undefine === null; 是false

  true and false

  undefined, null,NaN,"",0

  除这些值 ,其他值为 true;

  运算符:!!与 ||

  !!  把后面的表达式转为boolean 值,返回true or false

  !!"qiu"     true

  !!null      false

  ||

  var ns = ns || {}

  如果 ns 未定义 返回 {} , 否则返回ns

  注:定义变量必须要 var,否则掉坑!不写var就会成全局变量

  以上所述就是本文的全部内容了,希望大家能够喜欢。