1. 程式人生 > 其它 >專項練習2021-02-03

專項練習2021-02-03

技術標籤:專項練習js

1、JavaScript定義var a=“30”,var b=8,則執行a%b會得到()。
A. undefined
B. 6
C. “6”
D. null

正確答案: B
運算中,+號,數字隱式轉換成字串。其餘的運算子號是字串隱式轉換成數字。

2、下列哪個操作是W3C標準定義的阻止事件向父容器傳遞:
A. e.preventDefault()
B. e.cancelBubble=true
C. e.stopPropagation()
D. e.stopImmediatePropagation()

正確答案: C

  • DOM中的事件物件:(符合W3C標準)
    preventDefault() 取消事件預設行為
    stopImmediatePropagation() 取消事件冒泡同時阻止當前節點上的事件處理程式被呼叫。
    stopPropagation() 取消事件冒泡對當前節點無影響。
  • IE中的事件物件:
    cancelBubble() 取消事件冒泡
    returnValue() 取消事件預設行為

3、以下表達式錯誤的是( )

A. <div>bool flag ;<br>if(flag)</div> 
B. <div>int flag;<br>if(flag != 0)</div> 
C. <div>double flag;<
br
>
if(flag == 0)</div> D. <div>int *point;<br>if(point == null)</div>

正確答案: C
double型別的比較可以是 >= 或者 <=,但是不能用==和!=,因為浮點數後面的小數位是省略了的,不知道其確切大小

4、以下哪個是錯誤的
A、iframe是用來在網頁中插入第三方頁面,早期的頁面使用iframe主要是用於導航欄這種很多頁面都相同的部分,這樣在切換頁面的時候避免重複下載
B、iframe的建立比一般的DOM元素慢了1-2個數量級
C、iframe標籤會阻塞頁面的的載入

D、iframe本質是動態語言的Incude機制和利用ajax動態填充內容

正確答案: D
iframe本身就不是動態語言,樣式和指令碼都需要額外匯入。

5、下列對Reflow(迴流)和 Repaint(重繪)的描述正確的是?
A、Repaint比Reflow更加花費時間影響效能
B、一條條地修改DOM的樣式要比先定義好css的class然後修改DOM的className減少reflow/repaint
C、為HTML標籤使用fixed或absoult的position,那麼修改他們的CSS是不會reflow的
D、改變了某個元素的背景顏色,文字顏色等會導致Reflow

正確答案: C

  • reflow:當render樹的一部分或者全部因為大小邊距等問題發生改變而需要重建的過程,叫做迴流
  • repaint:當諸如顏色背景等不會引起頁面佈局變化,而只需要重新渲染的過程叫做重繪
  • 下面情況會導致reflow發生
    1:改變視窗大小
    2:改變文字大小
    3:內容的改變,如使用者在輸入框中敲字
    4:啟用偽類,如:hover
    5:操作class屬性
    6:指令碼操作DOM
    7:計算offsetWidth和offsetHeight
    8:設定style屬性

6、以下結果裡,返回true的是?
A、!![]
B、1===‘1’
C、null===undefined
D、!!’’

正確答案: A
[ ] 轉為字串是 “” // String([]) 返回""
[ ] 轉為數字是 0 // Number([]) 返回0
[ ] 轉為布林值是 true // Boolean([]) 返回true
true 轉為數字是 1 // Number(true) 返回1
false 轉為數字是 0 // Number(false) 返回0