Javascript整套面試試題

來源:互聯網
上載者:User

標籤:java開發   new   而在   ever   cti   浮點   單詞   undefined   難度   

一單選

1、以下哪條語句會產生運行:(A) 

A.var obj = ( ); 

B.var obj = [ ]; 

C.var obj = { }; 

D.var obj = / /; 

B代表數組,C代表對象,D是Regex

 

2、以下哪個單詞不屬於javascript保留字:(B) 

A. with 

B. parent 

C. class

D. void 

· abstract

· boolean

· break

· byte

· case

· catch

· char

· class

· const

· continue

· default

· do

· double

· else

· extends

· false

· final

· finally

· float

· for

· function

· goto

· if

· implements

· import

· in

· instanceof

· int

· interface

· long

· native

· new

· null

· package

· private

· protected

· public

· return

· short

· static

· super

· switch

· synchronized

· this

· throw

· throws

· transient

· true

· try

· var

· void

· while

· with 

 

 

3、請選擇結果為真運算式:(C) 

A. null instanceof Object 

B. null ===  undefined 

C. null == undefined 

D. NaN == NaN 

A->false,B->false,C->true,D->false,NaN是一個與任何數字都不相等的數字

 

二、不定項選擇題

4、請選擇對javascript理解有誤:(ABC) 

A. JScript是javascript簡稱 

B. javascript是網景公司開發種Java指令碼語言其目是為了簡化Java開發難度 

C. FireFox和IE存在大量相容性問題主要原因在於他們對javascript支援區別上 

D. AJAX技術一定要使用javascript技術 

 

C->是對於WEB標準的支援不同,D->AJAX全稱是Asynchronous JavaScript and XML,會用到js技術(但是這道題有異議)

 

5、 foo對象有att屬性,那麼擷取att屬性的值,以下哪些做法是可以的:(ACE)   
A. foo.att   
B. foo(“att”)   
C. foo[“att”]   
D. foo{“att”}   
E. foo[“a”+”t”+”t”] 

 

6、在不指定特殊屬性的情況下,哪幾種HTML標籤可以手動輸入文本:(AB)   

A. <TEXTAREA></TEXTAREA>     
B. <INPUT   type=”text”/>   
C. <INPUT   type=”hidden”/>   
D. <DIV></DIV> 

 

注意是手動輸入,所以div不可以

 

7、以下哪些是javascript的全域函數:(ABCDE)   
A. escape   
B. parseFloat   
C. eval   
D. setTimeout   
E. alert   

 

A->escape() 函數可對字串進行編碼,這樣就可以在所有的電腦上讀取該字串。

B->parseFloat() 解析一個字串並返回一個浮點數。

C->eval() 計算 JavaScript 字串,並把它作為指令碼代碼來執行。

js中的全域函數有:

 

8、關於IFrame表述正確的有:(ABCD)   
A. 通過IFrame,網頁可以嵌入其他網頁內容,並可以動態更改   
B. 在相同網域名稱下,內嵌的IFrame可以擷取外層網頁的對象   
C. 在相同網域名稱下,外層網頁指令碼可以擷取IFrame網頁內的對象     
D. 可以通過指令碼調整IFrame的大小   

 

9、關於表格表述正確的有:(ABCDE)   
A. 表格中可以包含tbody元素   
B. 表格中可以包含caption元素   
C. 表格中可以包含多個tbody元素   
D. 表格中可以包含colgroup元素   
E. 表格中可以包含col元素   

A->tbody表格主體內容,B->caption表格標題,D->colgroup列分組,E->col細化列分組因為一個組中,可能每一列也會有區別

colgroup和col的講解

如果一個表格前三列要垂直居上,後兩列垂直居下,我們就可以用分組來進行設定。看起來是樣式表可以代替的功能,但這的確不是多餘的標籤,和前面的標籤一樣,在 XHTML 1.0 Strict 中也是允許的標籤。
<table border="1">
<colgroup span="3" valign="top"></colgroup>
<colgroup span="2" valign="bottom"></colgroup>
<tr>
<td>1垂直居上</td>
<td>2垂直居上</td>
<td>3垂直居上</td>
<td>4垂直居下</td>
<td>5垂直居下</td>
</tr>
</table>
span 用以表示該組包含多少列。
col 的作用是細化 colgroup,因為即使在一個組中,列與列之間也可能會出現一些差別,這時就得用到 col 了。
<colgroup span="3" valign="top">
<col width="50"></col>
<col align="center"></col>
<col valign="middle"></col>
</colgroup>
可以看到第三列的 valign 覆蓋了 colgroup 的 valign 設定。在這裡 width、align、valign 都是符合 XHTML 1.0 Strict 的,不過要注意的是:沒有 height 屬性。

 

10、關於IE的window對象表述正確的有:(ACD)   
A. window.opener屬性本身就是指向window對象   
B. window.reload()方法可以用來重新整理當前頁面   
C. window.location=”a.html”和window.location.href=”a.html”的作用都是把當前頁面替換成a.html頁面   
D. 定義了全域變數g;可以用window.g的方式來存取該變數

 

A->比如兩個頁面一個A一個B,A頁面在頁面中用到window.open(‘B.html‘)開啟了新的視窗開啟了B,而在B的頁面想要獲得A頁面上的元素去改變那個元素,於是在B頁面用到window.opener.document.getElementById("name").value = ‘newName‘;去改變值。所以window.opener相當於找到開啟它本身的那個頁面。

B->沒有window.reload()是location.reload()或者window.location.reload()

 

三、簡答題

1、談談javascript數組排序方法sort()的使用,重點介紹sort()參數的使用及其內部機制 

  sort()無參數時,按照字元編碼進行排列,有參數時應傳遞一個函數,將按照函數中的順序進行排序

  比如sort(sortNum);

  function sortNum(a,b){

    return a - b;

  }

 

2、簡述DIV元素和SPAN元素的區別。 

  div是區塊層級元素,寬度高度起作用,獨佔一行;span是內嵌元素(行內元素)可以並排排列,寬高不起作用,margin和padding上下無效左右有效

 

3、結合<span   id=”outer”><span   id=”inner”>text</span></span>這段結構,談談innerHTML   outerHTML   innerText之間的區別。 

  innerHtml,innerText,outerHtml的區別

  innerHtml擷取的是<span   id=”inner”>text</span>

  innerText擷取的是text

  outerHtml擷取的是<span   id=”outer”><span   id=”inner”>text</span></span>

 

4、說幾條XHTML規範的內容(至少3條) 

  標籤閉合,標籤名必須小寫,正確嵌套,必須有根項目,所有的xhtml元素必須嵌套在根項目中

 

5、對Web標準化(或網站重構)知道哪些相關的知識,簡述幾條你知道的Web標準?

  web標準化分為結構化標準化,表現標準化,行為標準化。其中結構標準語言有Xhtml和Xml,表現標準語言css,行為標準語言W3C,ECMScript

  web標準化是網站重構的一種方法

 

6、如何擷取表單<select>域的選擇部分的文本

  <select id="se" onchange="getText()">
    <option value="1" >11111</option>}
    <option value="2" >22222</option>}
    <option value="3" >33333</option>}
  </select>

  <script type="text/javascript">
    var getText = function(){
      var sel = document.getElementsByTagName(‘select‘);
      alert(sel[0].options[sel[0].selectedIndex].text);
      // var sel = document.getElementById(‘se‘);
      // alert(sel.options[sel.selectedIndex].value);
    }

 

7、在js中定時調用foo()函數如何寫?

  function foo(){

    alert(new Date());

    setTimeout(‘foo()‘,2000);

  }

  foo();

 

8、var a = 10, b =20,c = 10;alert(a = b);alert(a == b);alert(a == c)結果為?

  alert(a = b) -> 10

  alert(a == b) -> false

  alert(a == c) -> true

  第一個=是指派陳述式,賦過值a為10,== 是比較語句

四、程式題

1、完成foo()函數的內容,要求能夠彈出對話方塊提示當前選中的是第幾個單選框。   
  <html>   
  <body>   
  <script>   
function   foo()   {   
  //   在此處添加代碼   
  var   rg   =   document.getElementsByName("radioGroup");   
  for(   var   i   =   0;   i   <   rg.length;   i++   )   
  {   
      if(   rg[i].checked   )   
      {   
          alert("你選擇了第"   +   (i+1)   +   "個單選框");   
      }   
  }   
  return   false;   
  }     </script>   
  <body>   
  <form   name="form1"   onsubmit="return   foo();">   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="radio"   name="radioGroup"/>   
  <input   type="submit"/>   
  </form>   
  </body>   
  </html>   

 

2、填充注釋部分的函數體,使得foo()函數調用彈出“成功”的對話方塊,還有字串翻轉功能
<html>
<head>
<script>
function foo(){
var str = reverse(‘a,b,c,d,e,f,g‘);
alert(str);
if(str == ‘g,f,e,d,c,b,a‘)
alert(‘成功‘);
else
alert(‘失敗‘);
}
function reverse(str){
//在此處加入代碼,完成字串翻轉功能

return   str.split(",").reverse().join(",");   


</script>
</head>
<body>
<input type="button" value="str" onclick="foo()" />
</body>
</html>

Javascript整套面試試題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.