一、
單選題
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",也可以不引。
當然除了屬性,也可以創建方法。
????????{
???????//?var?obj?=?();
????????var?obj1?=?[];//object
????????var?obj2?=?{};//object
????????var?obj3?=?//;//undefine
????????
????????alert(typeof(obj1));
????????alert(typeof(obj2));
????????alert(typeof(obj3));
????????}

function ?showName()









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 |
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會查找整個原型鏈
- alert(Function); ??
- alert(Function.prototype); ??
- alert(Function.__proto__); ??
- alert(Object); ??
- alert(Object.prototype); ??
- alert(Object.__proto__); ??
- alert((function(){}).prototype); ??
- alert((function(){}).__proto__); ??
- alert((function(){}).__proto__.prototype); ??
- alert((function(){}).prototype.__proto__); ??
- alert(Array.__proto__); ??
- alert((123).__proto__); ??
- alert((Number).__proto__); ??
- alert(("test").__proto__); ??
- alert((String).__proto__); ??
- alert((true).__proto__); ??
- 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)。對應的網站標準也分三方面:結構化標準語言,主要包括XHTML和XML;表現標準語言主要包括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 >