聲明:題目是群里面看到的璧帝,并不完全屋厘。答案自己手?jǐn)]
1对扶、下面打印出b的值是?if(true){let b = 2} ?alert(b).
let不存在變量提升菜谣,且作用域只在代碼塊珠漂,輸出undefined
2、const name = 'jack'; const age = 20; const person = {[name] : true, [age] : true}. ?person對象的兩個key分別是什么
對象的key只能是字符串尾膊,'jack'和'20'
3媳危、使用數(shù)組的reduce方法求和。
reduce函數(shù)對數(shù)組中的每一個值都會執(zhí)行一次冈敛,接收四個參數(shù)待笑,第一個是初始值,第二個遍歷當(dāng)前的值抓谴,第三個是當(dāng)前值的索引暮蹂,第四個是遍歷的數(shù)組
4寞缝、reactJS中和子組件如何通信
一般是控制子組件的顯示狀態(tài),可以用改變props仰泻,或者調(diào)用子組件的方法進(jìn)行荆陆。子組件事件傳遞給父組件回調(diào)就好
5、reactJS兄弟組件之間如何通信
事件用DeviceEventEmitter集侯、數(shù)據(jù)傳遞刷新等用Redux被啼、數(shù)據(jù)庫
6、傳入setState函數(shù)的第二個參數(shù)作用是什么
set方法調(diào)用刷新完畢后回調(diào)
7棠枉、reactJS中如何去寫組件
class Person extends Componment{}. ? ...static propTypes ..... static defaultProps
8.下面的輸出結(jié)果是浓体?
箭頭函數(shù)初始化時就綁定了作用域,為foo函數(shù)的代碼塊辈讶,所以輸出為foo
9命浴、使用es6的class封裝一個Car對象,有name和color兩個屬性荞估,以及一個print方法咳促,實現(xiàn)以下結(jié)果:
let myCar = new Car('奇瑞','紅色');
myCar.print(); // 打印出汽車名稱:奇瑞 顏色:紅色
10勘伺、略
11跪腹、完成isNumber函數(shù),返回Promise對象給調(diào)用者飞醉。isNumber(num){coding....}
12冲茸、使用async、await以及Promise實現(xiàn)調(diào)用asyncPrint函數(shù)后可以指定多少毫秒后打印出傳入的值缅帘,比如asyncPrint('hello',500),實現(xiàn)500ms后輸出hello
13轴术、reactJS在生命周期中哪一部調(diào)用AJAX請求?
ComponentDidMount
14钦无、reactJS的props.children.map函數(shù)來遍歷會收到異常提示逗栽,為什么?應(yīng)該如何遍歷失暂?
this.props.children的值有三種可能:如果當(dāng)前組件沒有子節(jié)點彼宠,它就是undefined;如果有一個子節(jié)點,數(shù)據(jù)類型是object弟塞;如果有多個子節(jié)點凭峡,數(shù)據(jù)類型就是array。系統(tǒng)提供React.Children.map()方法安全的遍歷子節(jié)點對象
15决记、字符串var str = 'abc345efgabcab2f',用實現(xiàn)如下人功能
15.1摧冀、去掉字符串中的a、b、c字符
15.2索昂、將字符串中的數(shù)字用中括號擴(kuò)起來建车,結(jié)果是'abc[345]efgabcab[2]f''
15.3、將字符串中的每個數(shù)字分別乘以2楼镐,得到'abc6810efgabcab4f'
16癞志、請以優(yōu)雅的方式將[1,2,[3,[4,[5]],6],7,8]轉(zhuǎn)換為[1,2,3,4,5,6,7,8]
17往枷、計算1-10000中出現(xiàn)的0 的次數(shù)
這里要注意的是reduce函數(shù)必需設(shè)置初始值0框产,而不能忽略。若忽略該參數(shù)错洁,則默認(rèn)sum的初始值為首次循環(huán)的那個item秉宿,即數(shù)組的第一個元素,導(dǎo)致結(jié)果出錯屯碴。