一套比較完整的javascript面試題(部分答案)
1、以下哪條語(yǔ)句會(huì)產(chǎn)生運(yùn)行錯(cuò)誤:(a)
A.var obj = ();//語(yǔ)法錯(cuò)誤
B.var obj = [];//創(chuàng)建數(shù)組
C.var obj = {};//創(chuàng)建對(duì)象
D.var obj = //;
原因:var obj = new Array ();是對(duì)的;JavaScript 中大括號(hào)表示創(chuàng)建對(duì)象。var obj = { id:1, name:"jacky" };alert(obj.name);上例表示創(chuàng)建一個(gè)具有屬性 id (值為 1)、屬性 name(值為 jacky)的對(duì)象。屬性名稱可以用引號(hào)引起來(lái)成 "id"、"name",也可以不引。
當(dāng)然除了屬性,也可以創(chuàng)建方法。
試驗(yàn)代碼
/* 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、以下哪個(gè)單詞不屬于javascript保留字:(b)
A.with
B.parent
C.class
D.void
以下的保留字不可以用作變量,函數(shù)名,對(duì)象名等,其中有的保留字是為以后JAVASCRIPT擴(kuò)展用的.
· 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、請(qǐng)選擇結(jié)果為真的表達(dá)式:(c)
A.null instanceof Object(if(!(null instanceof Object))是真的)
B.null === undefined
C.null == undefined
D.NaN == NaN
(1) null確實(shí)可以理解為原始類型,不能當(dāng)Object理解!
null,int,float.....等這些用關(guān)鍵字表示的類型,都不屬于Object.
至于可以把null作為參數(shù),只是特殊規(guī)定而已.
可以這么理解:
對(duì)象的引用代表的是一個(gè)內(nèi)存的值,null是一個(gè)空引用,可以理解為內(nèi)存的值為0;按這個(gè)意思對(duì)代碼
(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的實(shí)例,Object又是Function的實(shí)例
Function是函數(shù)的構(gòu)造函數(shù),而Object也是函數(shù),F(xiàn)unction自身也是函數(shù)
Object.prototype是一切原型鏈的頂點(diǎn),instanceof會(huì)查找整個(gè)原型鏈
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__);
/* window.onload=function()
{
if(NaN == NaN)
{
alert("ddd");
}
}
*/
二、不定項(xiàng)選擇題
4、請(qǐng)選擇對(duì)javascript理解有誤的:(abcd)
A.JScript是javascript的簡(jiǎn)稱
B.javascript是網(wǎng)景公司開發(fā)的一種Java腳本語(yǔ)言,其目的是為了簡(jiǎn)化Java的開發(fā)難度
C.FireFox和IE存在大量兼容性問(wèn)題的主要原因在于他們對(duì)javascript的支持不同上
D.AJAX技術(shù)一定要使用javascript技術(shù)
5、foo對(duì)象有att屬性,那么獲取att屬性的值,以下哪些做法是可以的:()
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]
6、在不指定特殊屬性的情況下,哪幾種HTML標(biāo)簽可以手動(dòng)輸入文本:(ace)
A.<TEXTAREA></TEXTAREA>
B.<INPUT type=”text”/>
C.<INPUT type=”hidden”/>
D.<DIV></DIV>
7、以下哪些是javascript的全局函數(shù):(abc)
A.escape
B.parseFloat
C.eval
D.setTimeout
E.alert
8、關(guān)于IFrame表述正確的有:(abcd)
A.通過(guò)IFrame,網(wǎng)頁(yè)可以嵌入其他網(wǎng)頁(yè)內(nèi)容,并可以動(dòng)態(tài)更改
B.在相同域名下,內(nèi)嵌的IFrame可以獲取外層網(wǎng)頁(yè)的對(duì)象
C.在相同域名下,外層網(wǎng)頁(yè)腳本可以獲取IFrame網(wǎng)頁(yè)內(nèi)的對(duì)象
D.可以通過(guò)腳本調(diào)整IFrame的大小
9、關(guān)于表格表述正確的有:(abcde)
A.表格中可以包含TBODY元素
B.表格中可以包含CAPTION元素
C.表格中可以包含多個(gè)TBODY元素
D.表格中可以包含COLGROUP元素
E.表格中可以包含COL元素
10、關(guān)于IE的window對(duì)象表述正確的有:(acd)
A.window.opener屬性本身就是指向window對(duì)象
B.window.reload()方法可以用來(lái)刷新當(dāng)前頁(yè)面
C.window.location=”a.html”和window.location.href=”a.html”的作用都是把當(dāng)前頁(yè)面替換成a.html頁(yè)面
D.定義了全局變量g;可以用window.g的方式來(lái)存取該變量
三、問(wèn)答題:
1、談?wù)刯avascript數(shù)組排序方法sort()的使用,重點(diǎn)介紹sort()參數(shù)的使用及其內(nèi)部機(jī)制
sort的實(shí)現(xiàn)的功能類似JAVA的比較器,數(shù)據(jù)排序從多維數(shù)組的第一維開始排序
可以自己定義排序方法,很不多的函數(shù)
2、簡(jiǎn)述DIV元素和SPAN元素的區(qū)別。
DIV有回車,SPAN沒(méi)有
3、結(jié)合text這段結(jié)構(gòu),談?wù)刬nnerHTML outerHTML innerText之間的區(qū)別。
這個(gè)問(wèn)題只要寫一下看的很清楚
innerHTML對(duì)象里面的HTML,outerHTML包括對(duì)象和里面的
innerText對(duì)象里面的文本
4、說(shuō)幾條XHTML規(guī)范的內(nèi)容(至少3條)
屬性加引號(hào),不能有不匹配的標(biāo)簽,加定義
5、對(duì)Web標(biāo)準(zhǔn)化(或網(wǎng)站重構(gòu))知道哪些相關(guān)的知識(shí),簡(jiǎn)述幾條你知道的Web標(biāo)準(zhǔn)?
網(wǎng)頁(yè)主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對(duì)應(yīng)的網(wǎng)站標(biāo)準(zhǔn)也分三方面:結(jié)構(gòu)化標(biāo)準(zhǔn)語(yǔ)言,主要包括XHTML和XML;表現(xiàn)標(biāo)準(zhǔn)語(yǔ)言主要包括CSS;行為標(biāo)準(zhǔn)主要包括對(duì)象模型(如W3C DOM)、ECMAScript等。
四、程序題:
1、完成foo()函數(shù)的內(nèi)容,要求能夠彈出對(duì)話框提示當(dāng)前選中的是第幾個(gè)單選框。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
2、填充注釋部分的函數(shù)體,使得foo()函數(shù)調(diào)用彈出”成功”的對(duì)話框。代碼應(yīng)盡量簡(jiǎn)短。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
相關(guān)文章
利用svg實(shí)現(xiàn)帶加載進(jìn)度的loading
svg是基于XML,由World?Wide?Web?Consortium?(W3C)聯(lián)盟開發(fā)的一種開放標(biāo)準(zhǔn)的矢量圖形語(yǔ)言,可讓你設(shè)計(jì)激動(dòng)人心的、高分辨率的Web圖形頁(yè)面。本文將使用svg實(shí)現(xiàn)一個(gè)帶加載進(jìn)度的loading,需要的可以參考一下2022-11-11基于打包工具Webpack進(jìn)行項(xiàng)目開發(fā)實(shí)例
這篇文章主要介紹了基于打包工具Webpack進(jìn)行項(xiàng)目開發(fā)實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05JavaScript實(shí)現(xiàn)函數(shù)返回多個(gè)值的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)函數(shù)返回多個(gè)值的方法,涉及javascript字典類型的使用技巧,需要的朋友可以參考下2015-06-06深入淺析JavaScript中的in關(guān)鍵字和for-in循環(huán)
這篇文章主要介紹了JavaScript中的in關(guān)鍵字和for-in循環(huán),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

JavaScript獲取網(wǎng)頁(yè)的寬高及如何兼容詳解

js 截取或者替換字符串中的數(shù)字實(shí)現(xiàn)方法

JS學(xué)習(xí)筆記之?dāng)?shù)組去重實(shí)現(xiàn)方法小結(jié)

canvas實(shí)現(xiàn)環(huán)形進(jìn)度條效果

layui.js實(shí)現(xiàn)的表單驗(yàn)證功能示例