zoukankan      html  css  js  c++  java
  • 《javascript高级编程》读书笔记(两)javascript基本概念

    第三章:基本概念

    ECMAScript那里5种简单数据类型(也称基本数据类型):UndefinedNullBooleanNumberString,另一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。

    typeof是一个操作符而不是函数.

    Undefined类型:此类型仅仅有一个值,undefined.在使用var声明变量但未对其初始化时。这个变量的值就是undefined.

    var message

    var message2 = undefined;

    alert(message);                   //  ”undefined”

    alert(message == undefined);       //  true

    alert(typeof message);            //  ”undefined”

    alert(message == undefined);       //  true

    alert(age);                     //   产生错误

    alert(typeof age);               //  ”undefined”

     

    Null类型:此类型仅仅有一个值,null.表示一个空对象指针。

    var car = null;    

    alerttypeof car;        //     ”object”

    if(car != null){

       //car对象运行操作

    }

    undefined值是派生自null值的。

    alert(null == undefined);      //true

    仅仅要意在保存对象的变量还没有真正保存对象,就应该明白地让该对象保存null值。

    Number类型:

      八进制的第一位是0,十六进制的前两位是0x.

      科学计数法:e

    ECMAScript所能表示的最小和最大的值各自是:Number.MIN_VALUENumber.MAX_VALUE,超出范围。会被成Infinity值(即Number.POSITIVE_INFINITY)或者-Infinity(即Number.NEGATIVE_INFINITY.

    NaNNot a Number

    1. 不论什么涉及到NaNde 操作都会返回NaN.

    2. NaN与不论什么值都不相等,包含NaN本身

     alert NaN == NaN ;    //  false

     IsNaN()在接受到一个值之后,会尝试将这个值转换为数值。

    alert(isNaN(NaN));              //true

    alert(isNaN(10));              //false

    alert(isNaN(“10”));              //false

    alert(isNaN(“blue”));              //true

    alert(isNaN(true));              //false(能够被转换成1)

    isNaN也适用于对象,会先调用对象的valueOf()方法,假设不能转换为数值。再基于返回值调用toString()方法。

    数值转换:

    能够将非数值转换成数值的函数:

    1. Number()   用于不论什么数据类型,不解析八进制

    var str ;

    var str2 = null;

    var str3 = “hello world”;

    Number(str);        //NaN

    Number(str2);       //0

    Number(str3);       //NaN

    Number(“”);        //0

    Number(“000011”);  //11

    Number(true);      //1

    Number(“0xA”);     //10

    一元加操作符的操作与Number()同样。

    2. parseInt()  用于字符串类型(忽略前面的空格),可解析八进制

    parseInt(“   1234blue”);         // 1234

    parseInt(“”);                   // NaN

    parseInt(“0xa”);                // 10

    parseInt(22.5);                 //22

    parseInt(“70”,8);               //56  (指定基数。即8进制)

    parseInt(“10”,2);             // 2

    3. parseFloat()  用于字符串类型(忽略前面的空格),仅仅解析10进制

    parseFloat(“1234blue”);                //1234

    parseFloat(“0xA”);                    //0

    parseFloat(“22.34.5”);                 //22.34

    parseFloat(“0908.5”);                 //908.5

    parseFloat(“3.125e7”);                //31250000

    String类型:能够用双引號。也能够用单引號表示。

     除了nullundefined值没有toString(),其它都有。可是nullundefined能够调用String(),返回对应的字符串。即null值返回“null”,undefined值返回“undefined”

     toString()能够传入基数參数,表示输出的进制表示。如:

      var num = 10;

      number.toString(2);   // “1010”

      要把某个值转换为字符串,能够使用加号操作符把它与一个空字符串(””)加在一起。

    with语句:

     with语句的作用是将代码的作用域设置到一个特定对象中。目的是简化多次编写同一个对象的工作。样例见···

    可是大量使用with语句会导致性能下降,同一时候也会给调试代码造成困难。因此在开发大型应用程序时,不建议使用with语句。

    switch语句:

    switch语句在比較值时使用的是全等操作符。因此不会发生类型转换(比如。字符串“10”不等于数值10.

    函数的返回值:

     除了return语句外。没有不论什么声明表示该函数返回一个值。

    另外。return语句也能够不带不论什么返回值,此时,函数在停止运行后将返回undefined

    ECMAScript的函数參数:重点

    命名的參数仅仅提供便利,但不是必须的。解析器不会验证命名參数。

    ECMAScript中的參数在内部是一个数组来表示的。能够通过arguments对象来訪问这个參数数组,从而訪问每个參数。

    改动arguments对象中的值会自己主动反映到相应的命名參数。可是改动命名參数不会改变arguments相应的值。

    没有传递值得命名參数将自己主动被赋予undefined值。

    ECMAScript中的全部參数传递的都是值,不可能通过引用传递參数。

    ECMAScript功能不能超载,您可以覆盖。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    002 下载文件
    001 okhttp3的POST使用
    000 okhttp3的Get使用
    008 webpack的其他使用方式
    007 webpack基本的用法
    three.js 3d三维网页代码加密的实现方法
    物联网开发技术栈
    9个顶级开发IoT项目的开源物联网平台
    hibernate缓存机制详细分析
    机器学习大牛最常用的5个回归损失函数,你知道几个?
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4804612.html
Copyright © 2011-2022 走看看