初识jQuery时知道了一个“$”,只要用这个就可以执行function来完成一些功能,当时很多人说只要知道会用就可以了,今天无意之间又与"$"进行了一次邂逅
1、为什么会有“$”
document.ready()这个大家都不陌生,即当dom元素加载完毕之后开始执行函数,为了省事就是一个编码和解码的过程,至于为什么非得是$这个符号呢,就不较劲了,看看他是在被编码的吧,“jquery-3.1.1.js”这个文件大家都不陌生,已经封装好的js文件
if ( !noGlobal ) {
window.jQuery = window.$ = jQuery;//李建敏到此一游哈哈。写几个$符号就用多少个表示
}
return jQuery;
} );
真相就在这里,将jQuery赋值给了这个window.$,如果写了两个$$,当然不要忘了将其他地方的也要替换成$$,效果如下:
$(//为什么?window.jQuery=window.$=jQuery jQuery自执行函数初始化时,已经把jQuery赋值给
function () {
$("#content").val("我是两个$$");
}
)
当然要是非换成其他符号行不行呢,哈啊哈
2、函数自执行
我们在一开始时都会引用这两个文件,然后就可用$符号了,这与函数的自执行也是有关系的,打开jquery.js文件我们可以发现里面都是一些方法函数,这个jquery赋值转换就是通过这个自执行函数实现的,那什么是自执行函数呢?就是自己个执行自己个,格式一般为:
(
function(){
........
}
)();
这样就无需声明一个人变量来调用此函数了,只要一运行就会自动执行,不过需要注意的是如果使用$符号就使用完整,如果不用就完全不用,不然不会被标识如:
(function abc() {
$("#content").val("jalou");
})();//这个是不能执行的,不识别$符号
原因是因为这个时候并没有执行dom元素,在function前加一个$便可以了,这就标识了dom元素加载完毕之后开始执行abc函数
3.window.onload
这个和document.ready的区别就是window.onload是当dom元素和资源文件加载完毕之后才开始执行函数,所以比$是慢的
总结:
一个小小的$学问也是不小的,都有自己的格式让我们按照格式来吧