概述

ECMAScript 5 的严格模式是JavaScript中的一种限制性更强的变种方式。严格模式不是一个子集:它在语义上与正常代码有着明显的差异。不支持严格模式的浏览器与同支持严格模式的浏览器行为上也不一样, 所以不要在未经严格模式特性测试情况下使用严格模式。严格模式可以与非严格模式共存,所以脚本可以逐渐的选择性加入严格模式。
支持情况:IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱。(github上面好多项目都是用的严格模式)
严格模式在语义上与正常的JavaScript有一些不同。

  • 首先,严格模式会将JavaScript陷阱直接变成明显的错误。
  • 其次,严格模式修正了一些引擎难以优化的错误:同样的代码有些时候严格模式会比非严格模式下更快。
  • 第三,严格模式禁用了一些有可能在未来版本中定义的语法。

    Read More

在WebKit中,预加载扫描器指的是一个副解析器,当HTML主解析器被一个同步的script标签阻塞时,预加载扫描器就会启动.然后,它会马上找出接下来即将需要获取的资源(比如样式表,脚本,图片等资源)的URL,然后尽可能早的发起网络请求,而不用等到主解析器恢复运行,从而提高了整体的加载时间。那么,除了HTML文件中的依赖资源,还有样式表中的呢?幸运的是,WebKit已经有了一个叫CSS预加载扫描器的东西了。

Read More

  • $(document).ready(function () { });
  • $(function () { });

以上两行代码的目的和效果都一样———待DOM加载完成之后,执行传入的function函数。

这是我们在页面初始化时经常使用的监听方案,那么他的实际的执行关系时什么样的呢?
在原生js中是什么样的一种表现?

Read More