zoukankan      html  css  js  c++  java
  • JS 高级程序设计 第三章

    1、标识符:

         标识符,是指变量、函数、属性的名字,或者函数的参数。

         标识符的命名规则:

         (1)第一个字符必须是字母、下划线或者美元符号

         (2)其他字符可以是字母、下划线、美元符号和数字。

         修改变量值的同时可以修改值的类型

    2、用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var将建立一个全局变量。

    3、ECMAScript中有五种简单的数据类型:Undefined、Null、Boolean、Number、String,还有一种复杂的数据结构-Object,它的本质是一组由无序の 名值对组成

    4、typeof是一个操作符而不是函数

    5、Number类型的八进制的字面值的第一位必须是零,但是八进制在严格模式下是无效的。浮点数的最高精度是17位小数。

    6、ECMAScript能够表示的最小的数值保存在Number.MIN_VALUE中,最大的数值保存在Number.MAX_VALUE中,要确定一个数值是不是又穷的,可以使用isFinite()

    7、任何涉及NaN的操作都会返回NaN;NaN与任何值都不想等,包括NaN本身。

        isNaN()函数:

        alert(isNaN(NaN))          //true

        alert(isNaN(10))          //false

        alert(isNaN("10"))       //false

        alert(isNaN("blue"))       //true

        alert(isNaN("true"))       //false

    8、数值转换:三个函数可以将非数值转换为数值:Number(),parseInt()、parseFloat(),其中Number()可以用于任何数据类型,而另外两个函数专门用于把字符串转换为数值。

    9、parseInt()已经不具备解析八进制的能力,因此“070”前导的零会被认为是无效的,从而将这个值当做“70”,结果得到十进制的"70"。

    10、parseFloat()函数是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。,字符串的第一个字符是有效的,而第二个字符是无效的。parseFloat()只解析十进制数。

    11、把一个值转换为一个字符串有两种方式:(1)几乎所有值都有的toString()方法,但是NULL和Undefined没有这个方法,这个函数的括号内可以有一个参数,即:输出数值的基数;(2)在不知道要转换的值是null或者undefined的情况下,还可以使用转换类型函数String().

    12、Object类型,对象其实就是一组数据与功能的集合。创建对象:var o=new Object();

    13、位操作符:按位非(~);取返回数值的反码。按位或(|),按位异或(^);左移(<<);有符号的右移(>>);无符号的右移(>>>)

    14、加性操作符:如果一个操作数是字符串,那么就要应用以下的规则:

          (1)如果两个操作数都是字符串则将两个操作数连接起来。

          (2)如果只有一个操作数的字符串,将另一个操作数转换为字符串,然后在拼接。

    15、减法操作符:

           如果有一个操作数是字符串、布尔值或者null或者undefined,则先在后台调用Number()函数将其转换为数值,然后再根据前面的规则进行减法运算。

           如果一个操作数是对象,则调用对象的valueOf()方法取得表示该对象的数值,如果值为NaN,则减法的结果是NaN.如果对象没有valueOf()方法,则调用toString()方法并将得到的字符串转换为数值。

    16、相等和不相等--先转换后比较。            全等和不全等-------仅作比较而不转换

           相等和不相等这两个操作符比较时应该遵循的原则:

          (1)null和undefined是相等的

          (2)要比较相等性之前,不能将null和undefined1转换为任何其他值

          (3)如果有一个操作符为NaN,则相等运算符返回false,不相等运算符返回true。NaN不等于NaN 

         (4)如果两个操作数都是对象,则比较他们是不是都是同一个对象。

    17、注意:null==undefined会返回true,因为它们是类似的值;但是null===undefined会返回false,因为它们是不同类型的值。

    18、如果表示要迭代的独享的变量值为null或者undefined,for-in语句会抛出错误。,所以要在使用for-in循环前,先检测确认该对象的数值是不是null或者undefined。

    19、switch语句在比较的时候使用的是全等操作符,因此不会发生类型转换(例如字符串"10"不等于数值10)

    20、arguments对象的length属性可以获取有多少个参数传递给了函数,arguments对象可以与命名参数一起使用。

    21、arguments对象的长度是由传入的参数的个数决定的,不是由定义函数时的命名参数的个数决定的,没有传递值的命名参数将自动被赋予undefined值。

  • 相关阅读:
    Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
    40个Java多线程问题总结
    Windows10实用技巧-固定快捷方式到磁贴菜单方式
    wordpress初始化安装
    xshell输入奇怪,空格间距变大
    Python2和Python3共存安装
    搭建nginx反向代理用做内网域名转发
    下载网页视频音频方法(djyeye为例)
    Dell 戴尔预装Windows8改成Windows7
    Nginx基本功能极速入门
  • 原文地址:https://www.cnblogs.com/1992825-Amelia/p/4851526.html
Copyright © 2011-2022 走看看