[jQuery] jQuery是通过哪个方法和Sizzle选择器结合的?
通过创建一个div元素,检测被传入的fn是否被当前浏览器支bai持
function assert( fn ) {
var div = document.createElement("div");//此处用try-catch的原因是:被传入的fn很有可能是会报错的。因为fn中用的方法或属性很可能不被当前浏览器所支持。
try {// 尝试执行被传入的方法,并将结果返回,如果出错则走catch,直接返回false(当前方法不被支持)
return !!fn( div );
} catch (e) {
return false;
} finally {
// 如果被创建的div存在parentNode,则将当前div删除。// 这里div看上去不可能有parentNode,因为感觉它没有被插入DOM树。但由于被传入的函数fn很有可能会将这个div插入DOM树,所有必须执行此操作。
if ( div.parentNode ) {
div.parentNode.removeChild( div );
}
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题