简单的问题。如果您在 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/