阅读笔记JavaScript语言精粹

语法

  • 注释

阅读笔记JavaScript语言精粹源于PL/I的/* */型既可以出现在字符串字面量中,也可能出现在正则表达式字面量中,如

*

var a = /a*/.match(s);

*/

故一般建议使用//型注释

  • 保留字

语句、变量、参数、属性名、运算符标记标识符不允许使用保留字,此外在对象字面量中,或用点运算提取对象属性时,也都不能用保留字做属性名

  • 数字

JavaScript只有一种数字类型,即64位浮点数

  • 字符串

1.JavaScript中所有的字符都是16位

2.转义字符可以将反斜线引号,和控制字符等不被允许的字符插入到字符串中

3.u用来约定指定数字字符编码"A"==="u0041"

4.字符串一旦被创建就无法被改变,只能通过+等操作符创建新字符串

  • 语句

1.JavaScript中的代码块{}不会创建新的作用域,故变量应该定义在函数的头部,而不是代码块中

2.被当做假的值false,null,' ',0,NaN

3.JavaScript不允许在return关键字和表达式之间换行,也不允许在break关键字和标签之间换行

对象

  • 定义

JavaCript中的对象是可变键控集合,是属性的容器,属性名可以是包括空字符串
在内的任意字符串,属性值是除undefined值之外的任何值

  • 对象字面量

一个对象字面量就是包围在一对花括号中的零个或多个名/值对,其中若 属性是合法的JavaScript标识符(字母开头,加数字、下划线组成)且不是保留字,则并不强制要求加引号

  • 对象值得检索

属性名为非合法的JavaScript标识符,需用[]来读值,为合法的标识符且不是保留字,则也可以用.
来读值,通常更倾向于.,因为其效率更高更紧凑,尝试从undefined的成员属性中读值会导致TypeError
异常,如

flight.equipment // undefined

flight.equipment.model // throw "TypeErrpr"

学习交流加群:230354270

  • 引用

对象通过引用传递,不会被传递,换句话说var a = {}; b = a;b则和a指向同一块内存

  • 原型

何为委托?沿原型链查找的过程就是委托(ps:原型链的末端是Object.prototype)

  • 反射

获取对象上的属性而不要原型中的属性,使用hasOwnProperty()检查,若为对象实例上的属性,则会返回true

  • 枚举

for in可用来遍历一个对象上的所有属性名(包括实例和原型),但需注意的是for in遍历出来的属性是无序的

  • 删除

    delete无法删除原型中的属性

  • 减少全局变量污染

措施:声明一个全局变量,作为命名空间,然后将应用资源都放到这个命名空间中,可以有效的减少与其他程序,组件,类库的冲突。学习交流加群:230354270。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: