一、 單選題
1
、以下哪條語句會產生運行錯誤:( a
A.var obj = ();//
語法錯誤
B.var obj = [];//
創建數組
C.var obj = {};//
創建對象
D.var obj = //;

原因:var obj = new Array ();是對的;JavaScript 中大括號表示創建對象。var obj = { id:1, name:"jacky" };alert(obj.name);上例表示創建一個具有屬性 id (值為 1)、屬性 name(值為 jacky)的對象。屬性名稱可以用引號引起來成 "id"、"name",也可以不引。

當然除了屬性,也可以創建方法。

window.onload=function()
????????{
???????//?var?obj?=?();
????????var?obj1?=?[];//object
????????var?obj2?=?{};//object
????????var?obj3?=?//;//undefine
????????
????????alert(typeof(obj1));
????????alert(typeof(obj2));
????????alert(typeof(obj3));

????????}

function ?showName()
{
????alert(
this .name);
}

?
var ?obj? = ? {?id: 1 ,?name: " jacky " ,?showName:showName?} ;
obj.showName();
2 、以下哪個單詞不屬于 javascript 保留字:( b
A.with
B.parent
C.class
D.void

以下的保留字不可以用作變量,函數名,對象名等,其中有的保留字是為以后JAVASCRIPT擴展用的.

· ?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
if (!(nullinstanceof Object)) 是真的
B.null === undefined
C.null == undefined
D.NaN == NaN

(1) null確實可以理解為原始類型,不能當Object理解!

null,int,float..... 等這些用關鍵字表示的類型 , 都不屬于 Object.

至于可以把 null 作為參數 , 只是特殊規定而已 .

可以這么理解 :

對象的引用代表的是一個內存的值,null是一個空引用,可以理解為內存的值為0;按這個意思對代碼

(2) function?f1(){

????

} ?

1.??? alert(f1?instanceof?Function);//true ??

2.??? alert(f1?instanceof?Object);//true ??

3.??? alert(Function?instanceof?Object);//true ??

4.??? alert(Object?instanceof?Function);//true??

Function 是Object的實例,Object又是Function的實例

Function是函數的構造函數,而Object也是函數,Function自身也是函數
Object.prototype是一切原型鏈的頂點,instanceof會查找整個原型鏈

  1. alert(Function); ??
  2. alert(Function.prototype); ??
  3. alert(Function.__proto__); ??
  4. alert(Object); ??
  5. alert(Object.prototype); ??
  6. alert(Object.__proto__); ??
  7. alert((function(){}).prototype); ??
  8. alert((function(){}).__proto__); ??
  9. alert((function(){}).__proto__.prototype); ??
  10. alert((function(){}).prototype.__proto__); ??
  11. alert(Array.__proto__); ??
  12. alert((123).__proto__); ??
  13. alert((Number).__proto__); ??
  14. alert(("test").__proto__); ??
  15. alert((String).__proto__); ??
  16. alert((true).__proto__); ??
  17. alert((Boolean).__proto__);?

二、不定項選擇題
4
、請選擇對 javascript 理解有誤的: (abcd)
A.JScript
javascript 的簡稱
B.javascript
是網景公司開發的一種 Java 腳本語言,其目的是為了簡化 Java 的開發難度
C.FireFox
IE 存在大量兼容性問題的主要原因在于他們對 javascript 的支持不同上
D.AJAX
技術一定要使用 javascript 技術
5
foo 對象有 att 屬性,那么獲取 att 屬性的值,以下哪些做法是可以的:()
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]
6
、在不指定特殊屬性的情況下,哪幾種 HTML 標簽可以手動輸入文本:( ace
A.<TEXTAREA></TEXTAREA>
B.<INPUT type=”text”/>
C.<INPUT type=”hidden”/>
D.<DIV></DIV>


7
、以下哪些是 javascript 的全局函數:( abc
A.escape
B.parseFloat
C.eval
D.setTimeout
E.alert
8
、關于 IFrame 表述正確的有: (abcd)
A.
通過 IFrame ,網頁可以嵌入其他網頁內容,并可以動態更改
B.
在相同域名下,內嵌的 IFrame 可以獲取外層網頁的對象
C.
在相同域名下,外層網頁腳本可以獲取 IFrame 網頁內的對象
D.
可以通過腳本調整 IFrame 的大小
9
、關于表格表述正確的有:( abcde
A.
表格中可以包含 TBODY 元素
B.
表格中可以包含 CAPTION 元素
C.
表格中可以包含多個 TBODY 元素
D.
表格中可以包含 COLGROUP 元素
E.
表格中可以包含 COL 元素
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 的方式來存取該變量
三、問答題:
1
、談談 javascript 數組排序方法 sort() 的使用,重點介紹 sort() 參數的使用及其內部機制

sort的實現的功能類似JAVA的比較器,數據排序從多維數組的第一維開始排序
可以自己定義排序方法,很不錯的函數
2、簡述DIV元素和SPAN元素的區別。

DIV有回車,SPAN沒有
3、結合text這段結構,談談innerHTML outerHTML innerText之間的區別。

這個問題只要寫一下看的很清楚
innerHTML對象里面的HTML,outerHTML包括對象和里面的
innerText對象里面的文本
4、說幾條XHTML規范的內容(至少3條)

屬性加引號,不能有不匹配的標簽,加定義
5、對Web標準化(或網站重構)知道哪些相關的知識,簡述幾條你知道的Web標準?

網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行為(Behavior)。對應的網站標準也分三方面:結構化標準語言,主要包括XHTMLXML;表現標準語言主要包括CSS;行為標準主要包括對象模型(如W3C DOM)、ECMAScript等。
四、程序題:
1
、完成foo()函數的內容,要求能夠彈出對話框提示當前選中的是第幾個單選框。
<html>

< head >

< script >

?function foo()

?{

?? // 在此處添加代碼

?? var rg = document.getElementsByName("radioGroup");

?? for( var i = 0; i < rg.length; i++ )

?? {

????? if( rg[i].checked )

????? {

??????? alert(" 你選擇了第" + (i+1) + " 個單選框" );

?????? }

??? }

???? returnfalse;

?}

</ script >

?

</ head >

< body >

??? <formname="form1"onsubmit="return foo();">

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="radio"name="radioGroup"/>

??????? <inputtype="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)

{

?? // 在此處加入代碼,完成字符串翻轉功能

??? var spl = str.split(',');

??? var newstr="";

??? for(i=spl.length-1;i>=0;i--)

??? {

????? newstr+=spl[i]+',';

??? }

????? newstr=newstr.substring(0,newstr.length-1)

????? return newstr;

}

??? </script>

</ head >

?

??? <body>

??????? <inputtype="button"value="str"onclick="foo()"/>

??? </body>

</ html >