You-Dont-Know-JS 笔记

  1. JS虽然是解释性语言, 但是也有编译过程, 只不过前一步编译, 后一步就执行
  2. JS是动态语言, 意味着可以在变量中保存不同类型的值, 意思就是值是有类型之分, 而变量是没有类型之分的
  3. 注意不相等和不等是不一样的, 不相等符号是!=!==, 而不等符号是>, >=, <, <=, 不等符号的比较规则是允许coercion, 就是说是允许强制转换的
  4. 不等符号的比较规则:

(1). 如果不等符号两边都是字符串, 则按照字典序来比较,
例如: 'a'< 'b', 结果是true, 比较的集合是按照unicode的顺序

(2). 如果一个不是字符串, 两边的值都会强制转换成number来比较,

(3). 例如: 'a' > 41, 'a' < 41, 'a' == 41, 结果都是false, 因为如果其中一个不能转化成有效数字, 那么就变成NaN,             规范中说明, NaN是大于和小于任何值, 还有NaN不等于任何值包括它本身, 所以才会有这样的结果
  1. 变量名为字母, 数字, _, $, 是在传统的ASCII编码方式下考虑的, 如果是在非传统的Unicode下考虑, 情况要复杂的多
  2. 保留字和关键字虽然不能用在变量名上, 但是可以用在属性名上
  3. 使用严格模式有一个关键的区别在于不能隐式的声明全局变量


    Paste_Image.png
  4. 前面必须加分号否则会引起歧义的五个符号, '+', '-', '/', '()', '[]', 因为'+'会被认为是算术加法, '-'会被认为是算术减法, '/'会被认为是算术除法, '()'会被认为是函数调用, '[]'会被认为是对象属性访问
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容