• 数据类型


    js中的数据类型

    js中的数据类型分为两大类,简单数据类型和复合(复杂)数据类型,共六种。分别是:

    简单数据类型:
    字符串 String
    数字 Number
    布尔值 Boolean
    未定义 Undefined
    空 Object

    复合(复杂)数据类型:
    对象 Object

    字符串类型(String)

    由一对引号包含起来了有0个或多个字符组成的串,引号一定是成对的 。

    1 var s1='a';//单引号
    2 console.log(s1);//a
    3 var s2="b";//双引号
    4 console.log(s2);//b

    可以用'+'号把多个字符串拼接到一起。

    1 var a='世界';
    2 var b='你好';
    3 console.log(a+b);//世界你好

    当加号左边或者右边有一个是字符串的时候,加号代表字符串连接。

    1 var a='10';
    2 var b=1;
    3 console.log(a+b);//101

    当一个数字和空字符串相加,返回的是转换成字符串的数字。

    1 var a='';
    2 var b=20;
    3 console.log(a+b);//字符串20

    数字类型(Number)

    由0-9之间的任意一个数字组合而成,分为整数和小数,取值范围从负无穷(-Infinity)到正无穷(+Infinity),有最小值也有最大值。

    最小值:Number.MIN_VALUE;

    1 console.log(Number.MIN_VALUE);//5e-324

    最大值:Number.MAX_VALUE;

    1 console.log(Number.MAX_VALUE);//1.7976931348623157e+308

     数字类型还有一个特殊的类型NaN,它用来表示非数字。它有一个特性,自己跟自己都不相等。

    1 console.log(Number('a'));//NaN
    2 console.log(NaN==NaN);//false

    布尔值类型(Boolean)

    布尔值分为两种,true和false,true代表真,false代表假。

    1 var a=1;
    2 var b=2;
    3 console.log(a<b);//true
    4 console.log(a>b);//false

    未定义类型(Undefined)

    该类型只有一个值:undefined。当声明的变量没有赋值时,变量的默认值为undefined。

    1 var a;
    2 console.log(a);//undefined

    undefined只有再跟null做对比的时候会返回true,其他都返回false。这是因为ECMAScript认为undefined是从null派生出来的,所以把它们定义为相等的。

    1 console.log(undefined==null);//true

    空类型(Object)

    该类型只有一个值:null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

    1 function fn(){
    2     return document.getElementById("aaa");//null,这个对象不存在
    3 }
    4 console.log(fn());

    为什么null的类型是Object呢?其实这是JavaScript最初实现的一个错误,后来被ECMAScript沿用下来。在今天我们可以解释为,null即是一个不存在的对象的占位符。

    对象类型(Object)

    对象类型是由简单的数据类型和复合数据类型组合而成的。它的数据是放在一个大括号中{}。数据有0个或者多个键值对组成,每一个数据之间用逗号隔开,最后一个数据不能用逗号,不然会报错。

    1 {a:10,b:'hello',c:[]};

    键值对:key:value;

    key:数据名字,可以加引号也可以不加引号。当这个名字不符合变量命名规范的时候要加上引号。

    value:数据对应的值,js中的任意一种数据类型都可以。

    取对象中的某一个数据:用属性操作的方式。

    1 var a={a:10,b:'hello'};
    2 console.log(a.a);//10
    3 console.log(a.b);//hello

    typeof

    返回数据对应的类型(字符串),跟系统自带的数据类型会有区别,首字母是小写的。

    1 var s='a';
    2 console.log(typeof s);//string

    判断一个数据类型的时候,用typeof==小写的对应类型。

    1 var s='a';
    2 if(typeof s=='string'){ //结果为真
    3     alert(1);//1
    4 }

    判断一个数据是不是为null,不能用typeof,因为typeof null返回的是object,应该直接让它跟null做对比。

    1 var s=null;
    2 if(s==null){ //结果为真
    3     alert(1);//1
    4 }else{
    5     alert(2);
    6 }

    函数用typeof后返回的是function。

    1 var a=function(){};
    2 console.log(typeof a);//function
  • 相关阅读:
    【PENNI】2020-ICML-PENNI: Pruned Kernel Sharing for Efficient CNN Inference-论文阅读
    【BlockSwap】2020-ICLR-BlockSwap: Fisher-guided Block Substitution for Network Compression on a Budget-论文阅读
    【MCUNet】2020-NIPS-MCUNet Tiny Deep Learning on IoT Devices-论文阅读
    【FSNet】2020-ICLR-FSNet Compression of Deep Convolutional Neural Networks by Filter Summary-论文阅读
    【Shape Adaptor】2020-ECCV-Shape Adaptor: A Learnable Resizing Module-论文阅读
    【FairNAS】2019-arxiv-FairNAS Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search-论文阅读
    【EagleEye】2020-ECCV-EagleEye: Fast Sub-net Evaluation for Efficient Neural Network Pruning-论文阅读
    【DMC】2020-CVPR-Discrete Model Compression with Resource Constraint for Deep Neural Networks-论文阅读
    【RegNet】2020-CVPR-Designing Network Design Spaces-论文阅读
    【DropNet】2020-ICML-DropNet Reducing Neural Network Complexity via Iterative Pruning-论文阅读
  • 原文地址:https://www.cnblogs.com/imguo/p/5763118.html
Copyright © 2020-2023  润新知