JS基本的数据类型

js的基本数据类型有6种:Number,String,Boolean,Object,Null,Undefined
ES6新增1种:Symbol

Number

Number 类型

  • 整数
    • 15(十进制)var num = 10;//10
    • 0377(八进制)var num = 070;//56
    • 0xff(十六进制)var num =
  • 浮点数
    • 1.2 var num = 3.141592653;
    • 1.4E2(科学计数法) var num = 3.14e2;
  • 特殊值
    • NaN(Not a Number)
    • Infinity(无限大)var num = 1/0;//Infinity

ES6中:isNaN函数,isFinite函数,parseInt函数,parseFloat函数被移植到Number对象上了.

Number.parseInt

/* 字符串化为整型:parseInt(string,radix) */
Number.parseInt('1.1');//1
Number.parseInt('1.9');//1
Number.parseInt('1b2.4');//1
Number.parseInt('www');//NaN

/*进制转换: 该函数的第二个参数表示字符串所表示的数字的进制*/
parseInt('11', 2)//3

/* + :也可以把数字字符串转换成数值*/
+ '42'; //42
+ '010';//10
+ '0x10';//16

Number.parseFloat

/* 字符串化为保留小数点:pareFloat(string) */
Number.parseFloat('100.1');//100.1
Number.parseFloat('12.4b5');//12.4
Number.parseFloat('www');//NaN

Number.isNaN:

Number.isNaN(2.5);//false

isNaN('abc');//true
 //'abc'无法转为一个数值,返回true

Number.isNaN('abc'); //结果:false
//'abc'是字符串,Number.isNaN不做类型转换,直接返回false

Number.isFinite:

用来检查一个数值是否非无穷。注意是判断非无穷,不是判断无穷

Number.isFinite(1);//true 有限
Number.isFinite(Infinity);//false  Infinity表示无穷大的特殊值
Number.isFinite('abc');//false  不做类型转换,直接false

Number.isInterger():用来判断是否是整数

Number.isInterger(3.2);//false
Number.isInterger(3);//true
Number.isInterger(3.00);true

Number.EPSILON常量:定义一个极小值

console.log(Number.EPSILON);
//结果:2.220446049250313e-16

Number.isSafeInterger():安全整数

JavaScript能够准确表示的整数范围在-253到253之间,
最大值和最小值:Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。

Number.isSafeInterger(Number.MAX_SAFE_INTEGER);//true
Number.isSafeInterger(Number.MAX_SAFE_INTEGER+1);false

String

放在双引号或者单引号中的值类型就是string类型

var name = "hello";//双引号
var name = 'july';//单引号

boolean

Boolean类型只有两个值,truefalse;

var sex = true;
if(sex){
    document.write('male');
}else{
    document.write('female');
}

Object

Object(对象)是一组无序的名值对的集合;

/* 把一个对象实体赋值给一个变量`cat` */
var cat = {
    name:'kitty',//名值对之间是`逗号`隔开的
    age:2,
    mew:function(){
        console.log('miao miao miao');
    }
}
/* 用`new`方法,定义一个新的对象 */
var dog = new Object();

Null

Null类型的值只有一个null,出现这个值的意思是对象不存在;
var car = null;

Undefined

Undefined类型只有一个值undefined;

出现的场景有二:已声明未赋值的变量获取对象不存在的属性

Symbol

ES6新增:为了解决属性名冲突

let sm = Symbol();
console.log(sm)//Symbol() 意思是它是独一无二的

类型识别-typeof

var num;
typeof num;//undefined
var num = 1;
typeof num;//number
var num = '1';
typeof num;//string
var num = true;
typeof num;//boolean
var num = null;
typeof num;//object
let sm = Symbol();
typeof(sm);//symbol

原始类型和引用类型

JS的6中基本数据类型,Number,String,Boolean,Undefined,Null原始类型;而Object引用类型

原始类型的数据赋值后,就形成了对应的名值对;

引用类型的数据赋值时,只是把一个值的地址赋予了一个变量;

/* 原始类型 */
var num1 = 123;
var num2 = num1;
num2 = 456;
console.log(num1);//123

/* 引用类型 */
var obj1 = {a:1,b:2};
var obj2 = obj1;
obj2.a = 3;
console.log(obj1.a);//3
posted @ 2021-01-09 10:10  格一  阅读(1346)  评论(0编辑  收藏  举报