javascript - jQuery 会做任何初始处理吗?

标签 javascript jquery

简单的问题。如果您在 HTML 页面中包含 jQuery,在使用任何 jQuery 函数之前是否有任何初始化开销。

最佳答案

通过简单地包含 jQuery 脚本,您确实会得到一些开销。 jQuery 在 immediately executed function 中构建自身.

在 1.3.2 中,它所做的最重要的事情是对 IE 的支持:

  • 创建一个临时的 form 元素,其中包含一个 input 元素,以检查浏览器在通过 getElementById 查询时是否按名称返回元素> - [ Source ]
  • 创建一个临时的 div,里面有一个空的 comment 节点,以检查浏览器在执行 getElementsByTagName("*") 时是否只返回元素 - [ Source ]
  • 创建一个临时 anchor 元素,以查看 getAttribute 是否返回规范化的 href 属性 - [ Source ]
  • 创建一个临时的 div,其中包含以下 html:

    '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>'
    

    然后继续从该结构中读取一堆特征。这是为了构建 jQuery.support为代替弃用 jQuery.browser 而创建的对象 - [ Source ]

它还做了一些小事,比如:

  • 创建一大堆正则表达式对象
  • 解析 navigator.userAgent 以获得一些已弃用的浏览器嗅探支持
  • 从系统获取当前日期(+new Date)

请记住,正如其他人所建议的那样,所有这些加起来几乎不会造成任何明显的滞后。

关于javascript - jQuery 会做任何初始处理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1474639/

相关文章:

javascript - 如何更改 jQuery 中动态创建的段落的背景颜色?

javascript - 访问V8引擎的抽象语法树

javascript - 将 GeoJson LineString 格式化为虚线

javascript - 有没有关于 IE8 中 jquery 变量名中下划线的文档?

javascript - 如果用户输入的长度小于最小长度,则显示错误消息

jQuery 在调整大小时获取 div 的宽度

jquery - Z-Index 与物理位置和 jQuery

javascript - 在jquery中减去值时获取null

jquery - Jansy Bootstrap Off-Canvas 菜单单击不关闭

jquery - 在 jquery 中获取不带 px 的左值、右值