原始数据类型:number,string,boolean,null,undefined,object * 基本类型(简单类型,值类型):number,string,boolean * 复杂类型(引用类型):object * 空类型:undefined,null * * 对象分三种:内置对象,自定义对象,浏览器对象 * 内置对象:系统提供的 * 自定义对象:自己写的 * 浏览器对象:浏览器的
number:数字类型(整数和小数)
* string:字符串类型(的值一般都是用单引号或者是双引号括起来) "34"
* boolean:布尔类型(值只有两个,true(真1),false(假0))
* null:空类型,值只有一个:null,一个对象指向为空了,此时可以赋值为null
* undefined:未定义,值只有一个:undefined
* 什么情况下的结果是undefined
* 变量声明了,没有赋值,结果是undefined
* 如果一个函数中没有明确的返回值,那么调用的时候接收了,结果就是undefined (没有明确返回值:函数中没有return,函数中有return,但是return后面没有任何内容) 函数没有返回值,但是在调用的时候接收了,那么结果就是undefined
* 如果一个变量的结果是undefined和一个数字进行计算,结果:NaN不是一个数字,也没有意义
var num = 10;
var str = "小白";
var flag = true;
var nll = null;
var undef;
var obj = new Object();
//是使用typeof 获取变量的类型
console.log(String(nll));//是null
console.log(typeof nll);//不是null
console.log(typeof undef);//undefined
NUMBER类型:
//数字类型有范围: 最小值和最大值
// console.log(Number.MAX_VALUE);//数字的最大值
// console.log(Number.MIN_VALUE);//数字的最小值
var num1 = parseInt("12.3abc"); // 返回12,如果第一个字符是数字会解析知道遇到非数字结束 var num2 = parseInt("abc123"); // 返回NaN,如果第一个字符不是数字或者符号就返回NaN
parseFloat()和parseInt非常相似,不同之处在与parseFloat会解析第一个. 遇到第二个.或者非数字结束 如果解析的内容里只有整数,解析成整数
//不要用小数去验证小数.
// var x=0.1;
// var y=0.2;
// var sum=x+y;
// console.log(sum==0.3);
//不要用NaN验证是不是NaN
// var num;
// console.log(num+10==NaN);
// console.log("您好"=="我好");
//如何验证这个结果是不是NaN,应该使用isNaN()
//var num;//-----变量声明了,没有赋值,结果是:undefined
//是不是不是一个数字----->不是一个数字吗? NaN--->不是一个数字
//console.log(isNaN(10));
//判断结果不是一个数字可以使用isNaN(变量名)
想要转整数用parseInt(),想要转小数用parseFloat()
//想要转数字:Number();要比上面的两种方式严格
//如果变量有意义调用.toString()使用转换
//如果变量没有意义使用String()转换
// console.log(Boolean(0));//false
// console.log(Boolean(-10));//true
// console.log(Boolean("哈哈"));//true
// console.log(Boolean(""));//false
// console.log(Boolean(null));//false
// console.log(Boolean(undefined));//false
console.log(Boolean(null+10));//true
var num; console.log(Boolean(num+10))//false
==与===的区别:==只进行值得比较,===类型和值同时相等,则相等