1,javascript 包括三个部分,ECMScript、BOM、DOM
2,在node.js 中主要用到的是javascript中的 ECMScript 部分
3,标识符是什么?
变量名、函数名、对象的成员名、函数的参数
4,标识符的命名有什么要求?
大小写敏感
使用下划线、字母、unicode中的语言字符、美元符号开头,可以以包含数字,但是不能以数字开头
不能是保留字或者关键字
驼峰命名法与匈牙利命名法:类型+表示的意义,类型全小写,表示的意义每个单词首字母大写
5,严格模式
严格模式的作用:消除ECMScript旧版本中的不合理、不严谨、不安全的地方、提升效率,为ECMScript的新版本做准备
严格模式的范围:函数范围的严格模式,在函数的第一行使用”use strict“、整个脚本范围的严格模式,在脚本的头部使用"use struct"
Node.js中建议全部使用严格模式
6,严格模式的影响
变量的严格声明:必须用var 来声明变量 不能通过不写var 来定义全局变量
禁止动态绑定:动态绑定就是要等到执行的时候才知道要执行的代码是什么,比如with、evel 作用域,容易引起混淆
不能删除变量:如果一个变量能否被 delete 删除,取决于这个变量的confidurable 属性,只有当confidurable为true的时候,才可以通过delete 来删除,通过var 来声明的变量的confidurable默认是false ,而不省略var 来声明的变量的confidurable为true,所以,在严格模式下声明的变量是不能删除的
不能重名:在老版本中,属性名和参数名是可以重复的
保留字不得用作标识符
7,注释
有三种方法
单行注释 //
多行注释 /**/
多行注释 /** */
推荐最后一种
8,语句
一行就是一条语句
语句使用分号结尾,是可选项,建议使用,这样的话,程序就不会继续向后面去判断语句是否结束
代码块:就是使用大括号组织起来的多条语句,当代码块中只有一条语句的时候,可以将大括号省略,不建议生理省略
9,关键字
定义:在ECMS-262中特定用途的词
范围:控制语句词(if switch case in catch)、执行特定操作词(break default delete new return this)
10,保留字
定义:现在没有特定用途,但是未来可能用作关键字
范围:普通模式(calss enum extends super const export import)
严格模式中额外增加的(umplements package interface static public protencted private yidld let)
其中一些已经作为关键字了