老鐵們,大家好,相信還有很多朋友對于jquery教程百度云和jquery pdf的相關問題不太懂,沒關系,今天就由我來為大家分享分享jquery教程百度云以及jquery pdf的問題,文章篇幅可能偏長,希望可以幫助到大家,下面一起來看看吧!
現在的PHP會像jQuery一樣,慢慢被其他開發語言所淘汰嗎
PHP并沒有被哪個語言所淘汰,jq并不是一門語言,jq是js的一個開發框架,準確一點就是封裝了各種功能的js類庫!而js是現在前端開發的必備語言!暫時沒有替代的東西!現在流行的vue等前端框架,都是js的代碼!
各種語言沒有誰比誰好的區別,只是應用場景不同導致了使用的人不同而已,就看當時流行什么,各種語言的市場占有率就跟流行的趨勢變化!
其實現在使用的面向對象的而且比較流行的語言都是出現在2000年前后,比如PHP,asp,java,python,c#,vb,go等等,大部分在90年代,c#,go等則是2000年后出現的!
一、各個時期流行的語言:
1、在pc互聯網時代,當時做一個企業網站或者一個個人網站是非常流行的,剛開始使用的是asp來制作的,asp是微軟不開源的語言,后來PHP出現了,并且開源,而且免費使用,所以幾乎所有的asp網站都轉PHP了,由于PHP的簡單易學開源免費,幾乎所有的小網站都用PHP,蓮百度剛開始都是PHP的,現在90%的網站都還是PHP開發的,也出現了很多的cms,比如織夢,這都讓開發一個小網站變得非常的簡單!
當時一些銀行或者其他的金融機構的網站就會使用c#或者java!
這個時期由于電腦的配置不高,能有效顯示html代碼就不錯了,js等腳本語言需求不高!
2、時間來到了電商時代,這個時候在網絡編程基本是PHP和Java,阿里選擇了Java,騰訊選擇了PHP!c#由于閉源,并且收費,所以除了微軟自己,其他大公司基本不用!這個時候的電腦都配置很高了,所以各種網頁特效就來了,這個時候js幾乎應用到所有的網頁上!js一度成為市場占有率第一的語言!
3、時間又來到了移動互聯網時代,這個時候的安卓app基本都是Java寫的,蘋果app都是object-c寫的,但是服務端的程序還是PHP和Java的天下,因為app大部分是Java,所以Java占有率變得越來越高了!但是還是免費開源的語言的天下,這個時候c#也開源了!這個時候Java才是老大,js緊隨其后!
4、現在是ai時代了,因為發明python的人是一個數學家,對大數據的采集和分析能力強,所以現在的ai編程大部分全都是使用了python,但是安卓app和服務端的程序基本還都是Java和PHP!各種寄生在大app上面的微服務小程序流行起來,這些小程序都是用的js,jq在pc互聯網時代非常流行,但是放在移動端就不太適合了,所以才有了vue等現代的js框架!
所以在不同的應用場景下,各個語言的占有率都不一樣,不會存在誰代替誰的情況!
二、個人對這些語言的看法!
1、PHP,本人接觸過但是沒有在項目中使用過,嘗試學習了,但是沒有深入,因為開發環境不好配置!在PHP非常流行的時候我用的是c#!總的來說PHP功能強大,使用的人很多!面向微信開發的網站的首選語言!
2、c#是我讀書的時候學習的語言!一款非常適合學習的語言,開發環境搭建簡單,只需要安裝VS.net就行,不需要配置任何東西!所有的東西都是界面化,寫代碼非常舒服!但是收費!不能全平臺通用!
3、Java是我自己自學的語言,功能強大,編程方式奇特!全平臺通用!各種開發框架成熟,生態平衡!部署簡單!網上學習資料多!
4、python,現在改行種田,還沒有來得及學習!
我是小莫哥,一個回家種田的程序員,期待得到大家的關注!
jQuery: $.xxx()與$().xxx()中的$,為什么能同時支持兩種寫法
其實,這個問題去看jquery源碼就能很清楚的知道了,從樓主的問題說明里面只是明白了jquery的方法擴展方式,但并沒有真正理解其主要架構方式;
我下面所說的都是基于2.0.3版本jquery源碼進行說明,首先,描述中有幾個錯誤需要指正下:
第一,在jquery中,$('xxx').xxxx()這種寫法,其實是通過jQuery.fn.extend({xxx:function(){}})的方式進行方法綁定和擴展的,而$.xxx()這種方式的方法是通過jQuery.extend({xxx:function(){}})的方式進行方法綁定和擴展的;如下圖,$.ajax通過下圖綁定:
而$('xxxx').attr()則通過下面方式:
第二,console.log(jQuery())其實是個對象,
console.log(jQuery('#test')),如果有此元素存在,看起來像數組,如下圖,其實也是對象,這種叫“類數組”;可以百度去看下類數組相關知識;
好,下面開始說下樓主的兩個問題,第一是extend的實現方法;第二是jquery為什么能同時支持$.xxx()與$().xxx()這兩種寫法;
第一,extend的實現方法;由于源碼較多,我在這兒就不直接展示出來了,有興趣可以去找到看看;其實簡單講,extend主要用于對象的合并,如下圖;
但是從源碼可以看出,當參數只有一個對象的時候,就是直接將傳入對象合并到調用的對象上(即jquery或jquery.fn);
所以,當調用jQuery.extend時,就會將傳入的對象里面的方法合并寫入到jQuery對象上面,就可以對其進行擴展;同理,使用jQuery.fn.extend時,就可以對jQuery.fn進行擴展;
第二,$.xxx()與$().xxx()兩種的區別;第一種$.xxx()其實是調用的jQuery對象上面的方法,也就是通過jQuery.extend進行擴展的方法;有人會說,jQuery是一個函數,但是函數在js也是對象,也可以向其添加屬性和方法;而第二種$().xxx()則是調用的jQuery.fn對象上面的方法,也就是通過jQuery.fn.extend進行擴展的方法;
第一種通過jQuery.extend進行擴展的屬性和方法是直接寫入jQuery對象,所以也就可以直接通過$.xxx()的方式調用,這個很容易理解;
第二種,通過jQuery.fn.extend進行擴展的方法和屬性為何能夠通過$().xxx()進行調用呢;這個就要從jQuery的整個架構來說;當執行$()時,訪問了下圖代碼:可以看出,其實是實例化了一個jQuery.fn.init的對象;在這我們就不再討論jQuery.fn.init里面具體干了什么,但可以通過源碼可以看出,其最終執行了“returnthis”,也就是返回了jQuery.fn.init的實例對象;那如何通過$()可以訪問到jQuery.fn上面的屬性和方法呢?就是通過下圖這句代碼:
它將jQuery.fn賦給了jQuery.fn.init.prototype,所以,jQuery.fn.init的實例對象也就可以直接訪問jQuery.fn上面的方法和屬性了;所以,當你通過$().xxx()時,其實訪問了jQuery.fn.xxx()方法;
百度貼吧同時使用了jQuery、Underscore和Backbone,后兩個是干什么的
主要是用了Backbone,這是一個輕量前端MVC框架,但它依賴Underscore(封裝了大量實用的函數)的基礎方法,而對DOM和事件的操作又要依賴jQuery。
OK,關于jquery教程百度云和jquery pdf的內容到此結束了,希望對大家有所幫助。