zoukankan      html  css  js  c++  java
  • 03.基本概念--JavaScript高级程序设计(笔记)

    00.标识符:变量、函数、属性的名字,或者函数的参数.

    01.注释: a. //单行注释 b. /*多行注释*/

    02.语句:ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾。

    03.变量:ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。

    04. 备注:全局变量 function test() { message = "hi"; //全局变量 } 省略var操作符,因而message就成了全局变量。这样,只要调用过一次test()函数,这个变量就有了定义,就可以在函数外部的任何地方被访问。 虽然省略var操作符可以定义全局变量,但这也不是我们推荐的做法。因为在局部作用域中定义的全局变量很难维护,而且如果有意地忽略了var操作符,也会由于响应变量不会马上就有定义而导致不必要的混乱。给未经声明的变量赋值在严格模式下回导致抛出ReferenceError错误。

    05.数据类型:UndefinedNULLBooleanNumberString和Object。Object本质上是由一组无序的名值对组成的。

    06.typeof操作符返回值: a.undefined--如果这个值未定义 b.boolean--如果这个值是布尔值 c.string--如果这个值是字符串 d.number--如果这个值是数值 e.object--如果这个值是对象或null f.function--如果这个值是函数

    07.null类型 null类型是第二个只有一个值的数据类型,是一个object对象。只要意在保存对象的变量还没有真正保存对象,就应该明确地让该汴玲保存null值。

    08.Boolean类型

    数据类型转换为true的值转换为false的值
    BooleanTRUEFALSE
    String任何非空字符串""空字符串
    Number任何非零数字值0和NaN
    Object任何对象null
    Undefinedn/aundefined
     

    09.Number类型

    e表示法(即科学基数法),表示的浮点数值表示。 例如:var flaoatNum = 3.125e7 //等于31250000。

    备注:关于浮点数值计算会产生摄入误差问题,有一点需要明确:这是使用基于IEEE754数值的浮点计算的通病,ECMAScript并非毒刺一家;其他使用相同数值格式的语言也存在这个问题。

    10.NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数为返回数值的情况。 函数isNaN()函数是否一个数值。

    11.数值转换函数Number()parseInt()parseFloat(). 

    12.String类型:用于表示由0或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号"和单引号表示。

      a.字符字面量

         

      b.字符串的特点:ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,他们的值就不能改变。要gianbian某个变量保存的字符串,首先要销毁原来的字符串,然后在用一个包含新的字符串填充该变量。

      c.转换位字符串:要把一个值转换为一个字符串有两种方式。

      d.object类型:创建Object类型的示例并未其添加属性和方法,就可以创建自定义对象。

        具有一下特点:

          d1.Constructor:保存着用于创建当前对象的函数。

          d2.hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中是否存在。其中参数的属性名(propertyName)必须以字符串形式制定

          d3.isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型

          d4.propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。与

          d5.toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应

          d6.toString():返回对象的字符串表示

          d7.vlaueOf():返回对此昂的字符串、数值或布尔值表示。通常与toString()方法的返回值。

      e.浏览器环境中的对象,比如BOM和DOM中的对象,都属于宿主对象,因为它们是由宿主实现提供和定义的。

    13.一元操作符:++和--

    14.位操作符:

      a.按位非(NOT):~

      b.按位与(AND):&

      c.按位或(OR):|

      d.按位异或(XOR):^

      e.左移和右移:<<和>>

      f.无符号的右移:>>>

      备注:有符号和无符号移位

      

     15.布尔操作符

      a.逻辑非(!)

      b.逻辑与(&&)

        b1.如果抵押给操作数是对象,则返回第二个操作数

        b2.如果第二个操作数是对象,则只有在第一个操作数的求值结果为ture的情况下才会返回该对象

        b3.如果两个操作数都是对象,则返回第二个操作数

        b4.如果一个操作数是null,则返回null

        b5如果一个操作数是NaN,则返回NaN

        b6.如果有一个操作数是undefined,则返回undefined.

      c.逻辑或(||)

        c1.如果第一个操作数是对象,则返回第一个操作数

        c2.如果抵押给操作数是求值结果为false,则返回第二个操作数

        c3.如果两个操作数都是对象,则返回第一个操作数

        c4.如果两个操作数都是null,则返回null

        c5.如果两个操作数都是NaN,则返回NaN;

        c6.如果两个操作数都是undefined,则返回undefined.

    16.乘性操作符

      a.乘法(*) 

        a1.如果超过ECMAScript数值的表示范围,则返回Infinity或-Infinity

        a2.如果有一个操作数是NaN,则结果是NaN

        a3.如果有一个操作数是NaN,则结果是NaN

        a4.如果是Infinity与0相乘,则结果是NaN

        a5.如果Infinity与非0数值相乘,则结果是Infinity或-Infinity,取决于有符号操作数的符号

        a6.如果是Infinity与Infinity相乘,则结果是Infinity

      b.除法(/)

        b1.如果操作数都是数值,执行常规的除法计算,即两个证书或两个负数相除的结果还是证书。如果超过ECMAScript数值的表示范围,则返回Infinity或-Infinity

        b2.如果有一个操作数是NaN,则结果是NaN

        b3.如果有Infinity和-Infinity

        b4.如果有一个操作数是NaN,则结果是NaN

        b5.如果是零被零出,则结果是NaN

        b6.如果是非零的有限数被零出,则结果是Infinity或-Infinity,取决于有符号操作数的符号

        b7.如果是Infinity被任何非零数值除,则结果是Infinity或-Infinity取决于有符号操作数的符号。

      c.求模(%)

        c1.如果操作数都是数值,执行常规的除法计算,返回除的的余数

        c2.如果被除数是无穷大值而除数是有限大的数值,则结果是NaN

        c3.如果被除数是有限大而除数是零,则结果是NaN

        c4.如果是Infinity被Infinity除,则结果是NaN

        c5.如果被除数是有限大的数值而除数无穷达的数值,则结果是被除数

        c6.被处数是0,则结果是0

        c7.如果有一个操作数不是数值,则在后台调用Number()将其转换为数值,然后在应用上面的规则。

    17.加性操作符

      a.加法(+)

        如果一个操作数是NaN,则结果是NaN

        如果是Infinity加Infinity,则结果是Infinity;

        如果是Infiity加-Infinity,则结果是NaN

        如果是-Infinity加-Infinity,则结果是-Infinity;

        备注:a1.如果两个操作数都是字符串,则将第二操作数与第一个操作数拼接起来

            a2.如果只有一个操作数是字符串,则将另一个操作数转换为字符串,然后在将两个字符串拼接起来

      b.减法(-)

        备注:如果一个操作数是字符串、布尔值、null或undefined,则在后台调用Number()函数将其转换为数值,然后在根据前面的规则执行减法计算

            如果有一个操作数是对象,则调用对象的valueOf()方法以取得表示该对象的数值。

    18.关系操作符(><<=>=)

    19.相等操作符(=====!=!==)

      a.相等操作符由两个等于号(==),如果两个操作数相等,则返回true.而不相等操作符由叹号后跟等于号(!=)表示,如果两个操作数不想等,则返回true.

      b.要比较相等性之前,不能将nul和undefine转换成其他任何值

      c.null和undefined是相等

      d.重要提示:及时两个操作数都是NaN,相等操作符也返回false,因为按照规则,NaN不等于NaN

      e.如果操作数都是对象,则比较他们是不是同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回true;否则,false.

    20.全等和不全等:由于相等和不相等操作符存在类型转换问题,而为了保持代码中数据类型的完整性。

    21.条件操作符(? : )

    22.逗号操作符(,,,,,)

    23.条件语句

      a.if (condition) statement1 else statement2

      b.do-while

      c.while

      d.for

      e.for-in(一种精准的迭代语句,可以用来枚举对象的属性)

    24.label语句:label:statement

    25.break和continue语句:break语句会立即退出循环,强制继续执行循环后面的语句。而continue语句虽然也立刻退出循环,但推出循环后悔会从循环的顶部继续执行。

    26.with语句

      with语句的作用是将代码的作用域设置到一个特定的对象中。

      with(expression) statement;

      定义with语句的目的主要是为了简化多次编写同一个对象的工作

        var qs = location.serch.substring();

        var hostName = location.hostname;

        var url = location.href

      使用with

        with(location) {

          var qs = search.substring();

          var hostName = hostname;

          var url = href;  

        } 

    27.switch(i) {

      case 25:break;

      case 35:break;

      case 45:break;

      }

    28.函数(function):通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用执行。

      function functonName(arg0, arg1, arg2,...,argN) {

        statements;

      }

     

    29.理解参数:在函数体内可以通过arguments对象来访问这个参数数组,从而获取床底给函数的每一个参数。没有传递值的命名参数将自动被赋予undefine值。者就跟定义了变量但又没有初始化一样。例如,如果只给doAdd()函数传递了一个参数,则num2中会保存undefined值。

      

      

  • 相关阅读:
    【其它】 数学是什么?
    【其它】 MathJax
    FreeCodeCamp练习笔记
    Docker容器操作中常用命令集合
    【转载】Ubuntu 系列安装 Docker
    U盘操作系统,Kali Linux操作系统安装
    网络安全&信息安全&系统安全常用名词汇总
    【CISP笔记】安全漏洞与恶意代码(2)
    【CISP笔记】安全漏洞与恶意代码(1)
    【CISP笔记】数据库及应用安全
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/9520475.html
Copyright © 2011-2022 走看看