原生 JS与Jquery 入口函数的差别 及 $ 冲突问题

1.原生 JS与Jquery 入口函数加载模式不同(只有script 放在文档上面时 才使用的入口函数)


    JS 入口加载函数   window.onload = function(){  }   
原生js 会等到DOM元素加载完毕,并且 元素中的 src 也加载完毕才会执行
JQuery 入口函数  $(document).ready(function(){ }) 和  $(function(){ })    $代表 jQuery 
jQuery 会等到DOMTree 解析完毕就执行(也就是 浏览器知道DOM元素的你是个啥就好 不用知道你具体是啥)  不会等到所有的DOM 元素解析加载完成时 执行


2. 原生JS 如果写入了多个入口函数  后面的入口函数 会覆盖前面的(存在多个时 会执行最后一个)

        使用JQuery写入多个入口函数 后面写的入口函数 不会覆盖先写的入口函数(存在多个时 会依次执行)



当多个使用其它框架或者js包时  $符号会在框架及包中 进行多次引用  这样 jQuery 中的$ 符号可能会失灵

解决方案1, 释放$使用权  在jQuery 代码前 写入 jQuery.noConflict();  在这条代码之后的代码 $都该为jQuery  $失效

//注意  释放操作必须放在编写其他 jQuery代码之前写入     写入后 jQuery的代码中的$ 被jQuery取代


   jQuery.noConflict();

        $(function () {
            alert("a");
        }) 

 报错信息: Uncaught TypeError: $ is not a function

解决方案2,自定义访问符号  

    var jq = jQuery.noConflict();  //意义将$释放  改为使用jq 



posted @ 2018-06-20 15:37  嘿!巴扎嘿  阅读(26)  评论(0)    收藏  举报