【Java面試】 Javascript常見面試題!

六星_研鑫發表於2020-07-28

點選免費獲取最新BATJ面試題,2020最新面試技巧和簡歷模板!


 

1:什麼是Javascript

JavaScript是一種基於物件(Object)和事件驅動(Event Driven)並具有安全效能的指令碼語言。

 

2:Java和Javascript的區別

1、基於物件和麵向物件

Java是一種真正的物件導向的語言,即使是開發簡單的程式,必須設計物件。 

JavaScript是種指令碼語言,它可以用來製作與網路無關的,與使用者互動作用的複雜軟體。它是一種基於物件(Object Based)和事件驅動(Event Driver)的程式語言。因而它本身提供了非常豐富的內部物件供設計人員使用。 

2、解釋和編譯

兩種語言在其瀏覽器中所執行的方式不一樣。Java的原始碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平臺 上的模擬器或直譯器,它可以透過編譯器或直譯器實現獨立於某個特定的平臺編譯程式碼的束縛。

JavaScript是一種解釋性程式語言,其原始碼在發往客戶端執行之前不需經過編譯,而是將文字格式的字元程式碼傳送給客戶編由瀏覽器 解釋執行。

3、強變數和弱變數

兩種語言所採取的變數是不一樣的。

Java採用強型別變數檢查,即所有變數在編譯之前必須作宣告。

JavaScript中變數宣告,採用其弱型別。即變數在使用前不需作宣告,而是直譯器在執行時檢查其資料型別,

4、程式碼格式不一樣

Java是一種與HTML無關的格式,必須透過像HTML中引用外媒體那麼進行裝載,其程式碼以位元組程式碼的形式儲存在獨立的文件中。

JavaScript的程式碼是一種文字字元格式,可以直接嵌入HTML文件中,並且可動態裝載。編寫HTML文件就像編輯文字檔案一樣方便。 

5、嵌入方式不一樣

在HTML文件中,兩種程式語言的標識不同,JavaScript使用<Script>...</Script>來標識,而Java使用<applet>...</applet>來標識。 

6、靜態聯編和動態聯編

Java採用靜態聯編,即Java的物件引用必須在編譯時的進行,以使編譯器能夠實現強型別檢查。

JavaScript採用動態聯編,即JavaScript的物件引用在執行時進行檢查,如不經編譯則就無法實現物件引用的檢查。

 

3:Javascript的執行環境

具備javascript執行器的

 

4:如何在web頁面加入Javascript,請寫出兩種方式並示例

<script language="javascript">
alert(11);
</script>
或者
<script language="javascript" src="/test.js"></script>

 

5:寫出Javascript基本的資料型別

整型

實型

布林

字元型

空值

特殊字元

 

6:Javascript中如何定義變數,有何規則

必須是一個有效的變數,即變數以字母開頭,中間可以出現數字如test1、text2等。除下劃線(-)作為連字元外,變數名稱不能有空   格、(+)、(-)、(,)或其它符號。

不能使用javascript中的關鍵字

可以用var宣告

 

7:程式碼示例:Javascript中的if控制語句的結構

if(i>4){

alert(11);

}

 

8:程式碼示例:Javascript中的for、while迴圈語句的結構

for(var i=0;i<10;i++){
 
alert(11);
 
}
 
while(i<10){
 
alert(22);
 
}


9:簡述break和continue的用法和功能

使用break語句使得迴圈從For或while中跳出,continue使得跳過迴圈內剩餘的語句而進入下一次迴圈。

 

10:Javascript中如何定義類,如何定義屬性,如何定義方法,請程式碼示例

function QuaryArgItem(){
 
    this.keys = new Array();
 
    this.values = new Array();
 
}
 
 
 
QuaryArgItem.prototype.push = function(key, value)
 
{
 
    key = (key == null) ? "" : "" + key;
 
    value = (value == null) ? "" : "" + value;
 
    this.keys.push(key.toUpperCase());
 
    this.values.push(value);
 
}
 
QuaryArgItem是類名
 
push相當於方法名
 
使用的時候 :
 
a = new QuaryArgItem();
 
a.push();

 

11:Javascript的function如何定義,有何規則

Function 方法名 (引數,變元){

方法體;

Return 表示式;

}

 

12:如何觸發Javascript的function

function test(){
 
alert(11);
 
}
 
<input type="button" onClick="test();">



13:說出下列String物件的方法的功能和用法:toLowerCase、indexOf、subString、toUpperCase

toLowerCase將指定字串轉化為小寫

indexOf判斷是否包含某一字元或字串

subString從字串中取一段並返回

toUpperCase將指定字串轉化為大寫

 

14:Javascript的日期物件是?如何初始化日期物件?

提供一個有關日期和時間的物件Date

date = new Date();

 

15:說出下列Javascript系統方法的功能和用法:eval、unEscape、escape、parseFloat

eval:返回字串表示式中的值

unEscape:返回字串ASCI碼

escape:返回字元的編碼

parseFloat:返回實數

 

16:Javascript中如何定義陣列?如何初始化?如何取值和賦值

var arrayName = new Array();
 
Function arrayName(size){
 
This.length=Size;
 
for(var x=; x<=size;x++){
 
this[x]=0;
 
}
 
Reture this;
 
}

 

17:簡要描述Javascript中下列內部物件的功能:Navigator、Window、Location、History、Document

Navagator:提供有關瀏覽器的資訊

Window:Window物件處於物件層次的最頂層,它提供了處理Navagator視窗的方法和屬性

Location:提供了與當前開啟的URL一起工作的方法和屬性,是一個靜態的物件

History:提供了與歷史清單有關的資訊

Document:包含與文件元素一起工作的物件,它將這些元素封裝起來供程式設計人員使用

 

18:如何利用Document來從頁面上取值和賦值

取值:var a = document.all("text1").value;

賦值:document.all("text1").value = '123';

 

19:簡要描述Javascript物件層次結構

window--document--元件

 

20:說出下列常見事件什麼時候被觸發:onFocus、onBlur、onSelect、onChange、onClick

onBlur:當失去輸入焦點後產生該事件

onFocus:當輸入獲得焦點後,產生該檔案

Onchange:當文字值改變時,產生該事件

Onselect:當文字加亮後,產生該事件

onClick:當元件被點選時產生的事件

 

21:程式碼示例:使用Frame作一個基本的三分頁面

<HTML>
 
<HEAD>
 
</HEAD>
 
<Frameset Rows="10%,90%">
 
<frame name="top" src="test1.htm"> 
 
<Frameset Cols="40%,60%">
 
<frame name="left" src="test2.htm"> 
 
<frame name="right" src="test3.htm">
 
</Frameset>
 
</Frameset>
 
</HTML>



22:框架如何載入頁面

<frame name="left" src="test.htm">


23:如何從框架中的一個頁面訪問另一個頁面

var value = parent.right.document.all("text1");


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69977571/viewspace-2707608/,如需轉載,請註明出處,否則將追究法律責任。

相關文章