javascripte高三读书笔记

第三章 基本概念

3.1 语法

  • 区分大小写
  • 严格模式
    • "use strict";
    • 这其实是一个编译指示(pragma),用于告诉支持的js引擎切换到严格模式。
    • 也可以单独指定一个函数在严格模式下执行
  • 语句
    • 分号代表一句话的结束
  • 分号不是必须的,但是推荐加上

3.2 关键字和保留字

  • 一个原则,就是不要使用

3.3 变量

  • ECMAScript的变量是松散类型的

  • 也就是可以保存任何类型的数据

  • 也就是说仅仅是一个保存值的占位符而已

  • 定义变量时需要使用关键字var操作符

  • var 操作符定义的变量将成为定义该变量的作用域中的局部变量

  • 不使用var定义的是一个全局变量,但并不推荐使用

  • 即便js是松散类型,可是也不推荐一个变量不停地切换保存的数据类型

3.4 数据类型

  • js有六种数据类型

    • 五种简单数据类型: Undefined, Number, String, Boolean, Null
    • 对象 Object
  • typeof操作符

    • 检测给定的变量的数据类型
    • 是一个操作符,而非函数
  • Undefined类型

    • 此类型只有一个值,即特殊的undefined
    • 一个变量未初始化和未定义使用typeof检测得到的结果是一样的,都是"undefined"
    • 一种好的编码风格是,当遇到变量时就对其进行初始化,这样遇到"undefined"后就知道此变量未定义了
  • Null类型

    • 第二个只有一个值得数据类型,即特殊的null
    • null值表示一个空对象指针
    • 在要定义一个对象时,一般会初始化为null,这一点和undefined有很大区别
  • Boolean类型

    • 有两个字面值:true和false

    • 是区分大小写的

    • 其他类型的值可以转换成Boolean,并且存在自动转换

      数据类型 转换为true值 转换为false的值
      Boolean true false
      String 任何非空字符串 ""(空字符串)
      Number 任何非零数字值 0和NaN
      Object 任何对象 null
      Undefined n/a(not applicable的缩写,不适用的意思) undefined
  • Number类型

    • 整形(十进制、八进制、十六进制)
    • 浮点数
    • NaN
    • 数值转换
      • Number() -- 比较复杂,且不够合理
      • parseInt()
      • parseFloat()
      • 这几个方法用好了功能还是很强大的
  • String类型

    • 字符字面量
    • 字符串的特点,是不可变的。变得是变量
    • 转换为字符串
      • .toString()方法
      • String()函数
  • Objece类型

    • 对象就是一组数据和功能的集合
    • 通过new操作符后跟要创建的对象类型的名称来创建
    • 每个Object对象具有的属性和方法

3.5 操作符

  • 操作符的类型
    • 一元操作符
      • 自增、自减运算符(++、--)
      • 一元加减运算符(+、-)
    • 位操作符
      • 位运算(~ & | << >> >>>)
    • 布尔操作符
      • 逻辑与、或、非(&&、||、!)
    • 乘性操作符
      • 乘法 *
      • 除法 /
      • 求模 %
    • 加性操作符
      • 加法 + (注意字符串的加法)
      • 减法 - (注意字符串的减法)
    • 关系操作符
      • 小于 <
      • 大于 >
      • 小于等于 <=
      • 大于等于 >=
    • 相等操作符
      • 相等和不相等(== !=)
      • 全等和不全等(=== !==)
    • 条件操作符
      • ?: (这是一个三元运算符)
    • 赋值操作符
      • =
      • 复合赋值操作符(+= -=等等)
  • 涉及到的常使用的方法
    • Boolean()
    • Number()
    • valueOf()
    • toString()
  • 需要注意的地方
    • 类型转换
    • NaN == NaN 返回false
    • null == undefined true

3.6 语句

  • if语句
    • 建议即使是简单的执行语句,也是用{}包裹起来的代码块
  • do...while语句
    • 后测试循环语句(先执行后判断)
  • while语句
    • 前测试循环语句(先判断后执行)
  • for基本循环语句
  • for in
  • label
  • continue
  • break
  • with
    • 由于效率问题不建议在大型项目开发中使用
  • switch语句

3.7 函数

  • 关键字 function、return
    • return 可以有返回值,也可以没有
    • 建议在写函数时保持统一的风格,要么都写上return,要么都不写,这样会便于调试
    • return之后的语句将永远不会再执行了
  • 函数参数
    • 函数参数无限制,用一个argument数组来接收传递过来的参数,所以对个数没有限制,这可以变相的理解成函数的重载
    • js中函数没有真正的重载,而是选择后定义函数

你可能感兴趣的:(javascripte高三读书笔记)