Hasty Briefsbeta

双语

On JavaScript's Weirdness

a year ago
  • #JavaScript
  • #Programming Quirks
  • #ECMAScript
  • JavaScript的`eval`函数在被重命名时表现不同,由于ECMAScript规范中的特殊规定,它只能访问全局作用域而非当前作用域。
  • JavaScript循环在变量捕获方面表现出独特行为:循环头中定义的变量会被视为按值捕获,而外部定义的变量则按引用捕获。
  • JavaScript中存在一个假值对象`document.all`,这是ECMAScript标准为保持与旧版IE代码兼容而特别规定的。
  • JavaScript字符串迭代会因采用UTF-16编码单元、Unicode码位、显示字符或扩展字素簇等不同计数方式而产生差异结果。
  • 通过省略元素或使用`Array`构造函数创建的稀疏数组,可能导致数组方法出现意外行为且性能较差。
  • JavaScript的自动分号插入机制(ASI)可能引发代码意外解析,典型示例是缺失分号会导致代码行为改变。