美文网首页
JavaScript语言精髓与编程实践笔记(2)

JavaScript语言精髓与编程实践笔记(2)

作者: a_pioneer | 来源:发表于2017-07-08 14:57 被阅读0次

    语法综述:

    1. 位运算中,JS会强制将运算目标转换成有符号的32位整数
    2. 引用类型的比较,如果不是同一个变量或其引用,则两个变量既不全等也不相等
    3. 比较只有两个元算元都是字符串时,才使用字符串序列检测,任意一个运算元为非字符串时,都将按照值进行比较。
    4. 赋值是运算而不是语句。
    5. 字符串限制(不可变性):
    • 不能直接修改字符串的字符
    • 字符串的连接必然导致写复制,这将产生新的字符串
    • 不能修改字符串的长度,如:修改length无效
    1. 语句存在返回值
    2. 表达式概念:由运算数和操作符构成,并产生结果的语法结构
      JS 规则:
    • 程序是由语句构成的。
    • 空语句,变量声明,函数声明以及控制子句都不会产生返回值
    • 换行符和文本结束符前可以没有';'
    1. 复制表达式具有声明隐士变量的效果
    2. 标签可以与变量重名而互不影响,因为它是另一独立的语法元素。
    3. break 子句不但可以作用与循环与条件分支内部,也可以作用与标签化语句内部
    4. JS中的数组,既是能以下标索引的索引数组,又是一个可以存取属性的关联数组,因此for ... in 的属性提取对数组有效
    5. JS 中任何类型的值都能作为对象的属性
    6. delete 无法删除用var声明的变量;直接继承的原型链上的成员。删除宿主成员的能力要看浏览器提供与否
    7. instanceof运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性
    8. 用 in 能检测到的属性用for...in不一定能列举;原型链成员能被for...in列举,却不能被propertyIsEnumerable()列举(只检测对象的非继承属性)。

    二义性

    1. 如果+表达式中存在字符串,则优先字符串连接
    2. 二义性中,语句优先
    3. +,{},[],(),,,:皆存在二义性

    相关文章

      网友评论

          本文标题:JavaScript语言精髓与编程实践笔记(2)

          本文链接:https://www.haomeiwen.com/subject/guadhxtx.html