您當前位置 : 首頁 電商百科 小程序這么火,你不來學學js?
微信正式發(fā)布小程序雖然已經(jīng)過去一個星期了,但人們討論小程序的熱情似乎絲毫未減。這幾天一打開微信公眾號,隨處可見的是「小程序最全指南」、「如何利用小程序發(fā)家致富」之類的文章。確實,互聯(lián)網(wǎng)圈子就那么大,微信的每一個小動作都能引發(fā)一波小高潮。而且產(chǎn)品經(jīng)理對微信似乎也特別敏感,就連果果的文章,如果在標題里提到微信二字,閱讀量也是直接上一個臺階。不信?下回咱做個AB test。
果果當然也不落俗套,跟風寫了幾篇關于小程序的技術分析文章。分析來分析去,小程序無非就是一個高度定制的H5頁面。微信自己弄了一套html標簽,稱之為wxml,又封裝了一些樣式規(guī)則,叫wxss,不管怎么叫,換湯不換藥,里子里還是web前端里html+css+js那一套。封裝一方面是為了降低開發(fā)成本,根本上是為了收攏控制權限,開發(fā)者能用的東西越少,微信需要操心的事情也就越少。當然,這些都不是重點。重點是,如果你想自己搞一個小程序出來,你無論如何都繞不過js這個坎兒。
后臺不少同學留言,說他們是如何下決心學習js,又是如何從入門到放棄的。果果聽了很是痛心。當年上學那會兒,有兩條路擺在果果面前,學js還是學java,果果毫不猶豫的選擇了java。理由是,js這么簡單,能干啥?現(xiàn)在想想真是圖樣,正是因為簡單,決定了它有群眾基礎,任憑你java、c++如何如何血統(tǒng)純正、如何如何多才多藝,最終都是要被淹沒在人民群眾的汪洋大海中的。
js真的簡單嗎?
真、簡單。
舉個例子,js里只有5中簡單的數(shù)據(jù)類型:undefined、null、Boolean、Number和String。前兩個不看,它們表示不存在(計算機里,不存在的東西也是一種東西,叫做「不存在的東西」)。后面三個,Boolean可以表示真假、是非、對錯、你愛不愛我之類的只有兩個值的東西,Number表示數(shù)字如1024,String表示一個單詞或者一句話。這就完了,大千世界,盡在掌握。作為對比,C語言里,short、char、int、long都能表示一個整數(shù),我的天吶。還有怎么搞都搞不明白的指針,我一度懷疑就是因為這玩意兒才導致我們專業(yè)男女比例7比1的。更惡心的是,指針竟然也他媽的可以表示一個整數(shù)。
js除了數(shù)據(jù)簡單,語法也簡單。語句常用的就兩套,if…else,for….。其他的都屬于高級語法,裝逼用的。函數(shù)和C語言里長的一個樣,只是前面多了一個前綴叫function。熟練使用即可行走江湖。
js后來又從java那里學來了對象,從對象的定義到對象的創(chuàng)建,都做了簡化。常用的就3個,Array、Date和RegExp,分別表示數(shù)據(jù)的集合,日期以及正則表達式。面向?qū)ο蟮哪翘讝|西,繼承和封裝,js也支持,不過老版本的js實現(xiàn)起來有點繞,現(xiàn)在的ES6標準,已經(jīng)簡化許多了。
掌握了基本類型、基本語法、函數(shù)和對象,可以說js就算入門了,加起來不會超過兩天。但是,此時你就迫不及待的跑去跟程序員撕,肯定會被鄙視的。他們會非常自信的向你拋出他們面試的時候被折磨慘了的兩個概念,原型和閉包,以此勸你知難而退。
什么是原型和閉包?
請自行百度吧,我果某人自認講不明白。這些東西啊,光背概念是萬萬不行的,等用到的時候再去查,查明白了你也就懂了。
至此,js語言層面的東西,你應該可以應付了。然后要學的是,各種API。
什么API?js運行在瀏覽器里,首先當然是瀏覽器提供的API了。這些API包含了瀏覽器提供的方方面面的能力,比如窗口的打開關閉、前進后退歷史等等。它們大多放在一個叫window的全局對象里。你隨便打開一個網(wǎng)頁,按F12,在console里輸入window,就會知道,這家伙真是大而全。
還有一些API,是用來操作頁面的結(jié)構的。最簡單的例子,沒有拉到數(shù)據(jù)的時候轉(zhuǎn)菊花,拉倒數(shù)據(jù)之后替換成真正的數(shù)據(jù),界面元素的改變,也可以通過js來完成,術語叫DOM操作。
當然,還要學習小程序的API。微信自己提供了很多終端才有的能力,比如傳感器、打開文件等等。以前的時候,是通過js bridge來做的,其實是一個道理。如果你想理解小程序的運行過程,有一個概念必須要掌握:「事件」。事件是程序里很常見的一種東西,包括我們,也是生活在充滿事件的世界中。如果你對某個事件感興趣,但它還沒有發(fā)生,就比如美帝解放朝鮮這一事件,你可以先訂閱,等事件觸發(fā)的時候,讓別人給你一個通知,給你一次執(zhí)行自己代碼的機會。小程序里,APP被打開、APP壓后臺、APP又回來了,都是事件。這樣的事件來臨的時候,你都有機會、而且是一定要做點什么,不然程序怎么出bug的,你都不知道。
總結(jié)js本身是非常簡單的。但是,我一直覺得,如果你接觸一個新的東西,小到一門語言大到一個行業(yè),從入行到入門,一定要砸夠相應時間進去,無論牛人與否,無論效率高低。C++入門需要21天,js嘛,一個星期就夠了。你不妨從你那些可以改變世界卻只差一個程序員的idea 里,隨便挑一個出來,落地成一個小程序,路上有多坑,你走一遍就知道了。
上一篇: 上一篇:抖音科普視頻怎么賺錢,抖音科普視頻好做嗎?
下一篇: 下一篇:12家應用商店春節(jié)放假安排