zoukankan      html  css  js  c++  java
  • JavaScript总结(二)

    JavaScript的数据类型

      ✍ 原始数据类型值:

      JavaScript有5中原始数据类型,通过调用typeof运算符返回值查看变量类型:

        ➣ Undefined ➔ 'undefined';

          Undefined(未定义)类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined。

        ➣ Boolean ➔ 'boolean';

          Boolean(布尔)类型是JavaScript中最常用的类型之一。它有两个值true和false;

        ➣ Number ➔ 'number';

          JavaScript中定义最特殊的类型是Number型,这种类型既可以表示32位整型,也可以表示64位浮点数。直接输入的(而不是从另一个变量访问的)任何数字都被看做Number字面量。

        ➣ String ➔ 'string';

          String类型的独特之处在于它是唯一没有固定大小的原始类型。可以用字符串存储0或更多的Unicode字符,由16位整数表示(Unicode是一种国际字符集)。

        ➣Null ➔ 'object'(引用类型返回的也是object);

          只有一个专用值unll,即它的字面量。值undefined实际上是从值null派生来的,因此JavaScript把它们定义为相等的;

    null == undefined    //返回true

     JavaScript中实现数据类型转换

      转化为字符串值:JavaScript定义所有对象都有toString()方法,无论它是伪对象,还是真的对象。使用toString()方法对数据进行类型转换的结果由变量的值决定。

    例如:

     var test = false;    //test的字面量是Boolean类型,值为false
    
    test.toString();     //返回的值为'false'
    
    var numInt = 10;     //numInt是Number类型,值为10
    
    var numfloat = 10.0; //numfloat是Number类型,值为10.0
    
    numInt.toString();   //返回的值为'10'
    
    numfloat.toString(); //返回的值为'10';如果numfloat的字面量是10.1,那么返回的值为'10.1'

      对于非数字的原始值,JavaScript提供了两种转换成数字的方法,即parseInt()和parseFloat(),前者把值转换成整型,后者把值转换成浮点数。只有对String类型调用这些方法,它们才能正确运行。对其他类型返回的都是NaN。

    var iNum1 = parseInt('1234blasd');   //返回1234
    
    var iNum2 = parseInt('22.5');        //返回22
    
    var iNum3 = parseInt('0xA');         //返回10
    
    var fNum1 = parseFloat('1234absa');  //返回1234.0
    
    var fNum2 = vaparseFloat('22.3214'); //返回22.3214
    
    var fNum3 = paeseFloat('0xA');       //返回NaN

      也可以强制转换:

        ➣ Boolean(value)——把给定的值转化为Boolean型;

        ➣ Number(value)——把给定的值转换成字符串;

        ➣ String(value)——把给定的值转换成字符串;

        用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。

     Boolean型转换:

    方法

    结果

    备注

    Boolean("")

    false

    空字符串

    Boolean('hi')

    true

    非空字符串

    Boolean(100)

    true

    非0数字

    Boolean(null)

    false

    null

    Boolean(0)

    false

    0

    Boolean(new Object())

    true

    对象

    ❋ Boolean型转换:

    方法

    结果

    Number(false)

    0

    Number(true)

    1

    Number(undefined)

    NaN

    Number(null)

    0

    Number('2.2.5')

    NaN

    Number('1.5')

    1.5

    Number(new Object())

    NaN

    ❋ String型转换:

      可以把任何值转换成字符串;

    ✍  引用数据类型值

      JavaScript库中提供了大量封装好的对象给我们使用,同时我们还可以创建自定义对象。可以分为三种类型:

      ➣ 原生对象:

        是由JavaScript所提供的、独立于宿主环境(即浏览器)的对象。简单点说,就是在ECMA-262标准中定义的对象;

      ➣ 内置对象:

        内置对象JavaScript中提供的、独立于宿主环境的对象,这些对象在JavaScript程序执行时就已经存在。内置对象实际上也是原生对象的一种,但是与原生对象不同的是,内置对象不需要显式地初始化,因为它已经初始化了,ECMA-262标准中只定义了两个内置对象:Global和Math;

      ➣ 宿主对象:

        宿主对象指与宿主环境(即浏览器)有关的对象。所有的BOM和DOM对象都是宿主对象。

    我们可以用下面的表来记忆JS的基本数据类型和Java中数据类型的关系

    Java类型

    对应JS类型

    说明

    byte

    number

    Java包装器:Byte,父类:Number

    short

    Java包装器:Short,父类:Number

    int

    Java包装器:Integer,父类:Number

    long

    Java包装器:Long,父类:Number

    float

    Java包装器:Float,父类:Number

    double

    Java包装器:Double,父类:Number

    char

    string

    Java包装器:Charset,父类:Object

    string

    Java中string不是基本类型,父类:Object

    boolean

    boolean

    Java包装器:Boolean,父类:Object

    ✍ Object类:

      JavaScript中的所有类都是由Object类来继承的,Object类中的属性和方法都会出现在其他对象中。

      ➣ Object类具有的属性:

        Constructor——对创建对象的函数的引用(指针)。对于Object类,该指针指向原始的object()函数。

      ➣ Object类具有的方法:

        hasOwnProperty(property)——判断对象是否具有某个特定的属性。必须用字符串指定该属性。

        isPrototypeOf(object)——判断该对象是否为另一个对象的原型。

        propertyIsEnumerable(property)——判断给定的属性是否可以为for..in语句进行枚举。

        toString()——返回对象的原始字符串表示,对于Object类,ECMA-262标准没有定义这个值,所以不同的JavaScript实现具有不同的值。

        valueOf()——返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()的返回值形同。

    ✍ 原始数据类型包装器类:

      JavaScript中的Boolean、Number和String类分别是JavaScript原始数据类型Boolean、Number和String的包装类。这些对象在JavaScript实际编程中很少使用,所以我们最好还是使用原始值。Boolean、Number和String的所有属性和方法都可以应用在原始值上,因为他们是伪对象。

    ✍ Array类

      可以创建数组!创建的几种方式如下

    var iArray1 = new Array();
    
    iArray1[0] = 'a';           //给数组的下标0的内存空间赋值为'a'
    
    iArray1[1] = 'b';          //给数组的下标1的内存空间赋值为'b'
    
    iArray1[2] = 'c';          //给数组的下标2的内存空间赋值为'c'
    
    var iArray2 = new Array(20);  //该数组长度为20
    
    var iArray3 = new Array('a','b','c')   //数组共三个值,按顺序分别是'a','b','c';

    ✍ Date类

      Date 对象用于处理日期和时间。

      创建Date对象语法:

     var myDate = new Date();//Date对象会自动把当前日期和时间保存为其初始值

    属性

    描述

    constructor

    返回对创建此对象的 Date 函数的引用

    prototype

    使您有能力向对象添加属性和方法

    ✍ Global类:

      Global类是JavaScript中最特别的对象,它不需要声明和初始化。

    ✍ instanceof运算符:

      在使用typeof运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,他都会返回”object”;instanceof是由ECMAscript引入java运算符;instanceof运算符与typeof运算符相识,用于识别正在处理的对象的类型。与typeof方法不同的是,instanceof方法要求开发者明确地确认对象为某特定类型。

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    pstree---树状图的方式展现进程
    telint---切换当前正在运行的Linux系统的运行等级
    batch---系统不繁忙时执行任务
    crontab---定时任务
    runlevel---当前Linux系统的运行等级
    kill&&pkill&&killall---删除执行中的程序
    at&&atq&&atrm---定时任务
    fsck---于检查并且试图修复文件系统中的错误
    mkfs---创建Linux文件系统
    gitignore
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/5945812.html
Copyright © 2011-2022 走看看