轉(zhuǎn)載請注明出處:王亟亟的大牛之路
最近都有事干然后,快到月底了這個月給CSDN的博文也就兩篇,想想也蠻多天沒更了,那就來一篇利职。
老規(guī)矩,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android(已經(jīng)拆完了瘦癌,基本可以根據(jù)鏈接找你的需要的東西給了猪贪,后期還會繼續(xù)細(xì)分)
學(xué)了一段時間的RN,公司項(xiàng)目的部分模塊也遷移到了RN佩憾。
我自己是會SE的東西卻對JS不太熟哮伟,所以生產(chǎn)效率并不是太高,正好微信的小程序也是類似的實(shí)現(xiàn)妄帘,讓我覺得掌握J(rèn)S已經(jīng)成了一個高優(yōu)先級的學(xué)習(xí)任務(wù)了。
然后當(dāng)下有2個學(xué)習(xí)方向其實(shí)我覺得還是可以自己去選擇的池凄,一個是 VUE 一個是 React.js
一個是阿里等大公司都推崇的:https://github.com/vuejs/vue抡驼,另一個看標(biāo)題你就懂了:https://facebook.github.io/react/index.html
例子中可能出現(xiàn)在 RN文章里出現(xiàn)過的知識點(diǎn),如果重復(fù)了肿仑,可以提出我再做修改致盟。
下完所需的JS包簡單的包分一下就能開工
官方的sample引用的是 react.js,react-dom.js和browser.min.js 這3個文件
這里補(bǔ)充一句,Browser.js是用來把JSX轉(zhuǎn)成JS的尤慰,這個過程比較耗時馏锡,丟服務(wù)器就行,Demo是為了方便伟端,你懂的
在<head>里引用即可(記得設(shè)置下編碼杯道,不然中文就是亂碼)
因?yàn)镽eact.js的JSX語法和JS是不兼容的(別問為什么,我并不知道)责蝠,要使用需要加<script>一個標(biāo)簽
然后在里面代碼就行了党巾!
變成都是從Hellow World開始的萎庭,我們也試著來一個。
效果圖:
在RN的時候也有類似的.render()方法齿拂,那么他到底是干什么的呢驳规?
他就是把HTML 語言,并插入指定的 DOM 節(jié)點(diǎn)的署海,也就是插入了例子里叫’example’的那個<div>
塊級作用域和塊變量
在java中并沒有塊變量或者塊的概念吗购,方法內(nèi)的變量就是局部變量,類變量就是類變量砸狞。
然而在JS語法中有代碼塊的概念巩搏,也就是{ },白話的講就是 在代碼塊內(nèi)申明的變量的生命周期僅可用于代碼塊中趾代。
而相對應(yīng)的變量就是let
let 和var類似 申明也是
區(qū)別是 他只在他的代碼塊內(nèi)有效贯底,出了代碼塊就會 拋出ReferenceError: a is not defined
let不像var 必須先申明再使用,不然會也會拋出ReferenceError(本身JS的這種變量提升的行為撒强,我就不太感冒禽捆,本來就應(yīng)該先有蛋再有雞)
既然 let和var只是有效范圍不同,那let有什么用呢飘哨?
塊級作用域
塊級作用域{}胚想,他可以多層嵌套,像這樣
他們是各自獨(dú)立的,外層作用域無法讀取內(nèi)層作用域的變量芽隆,內(nèi)層作用域可以定義外層作用域的同名變量浊服,所以你申明一堆同名的變量也沒有問題。
可以在塊級作用域里使用申明函數(shù)胚吁,但是和let變量一樣牙躺,出了塊就無效了,像這樣
下一篇會介紹const,props,PropTypes