




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、javascript前臺工程師面試題需要的朋友可以參考一下,附部分答案。 一、單選題 1、以下哪條語句會產(chǎn)生運行錯誤:(a) A.var obj = ();/語法錯誤 B.var obj = ;/創(chuàng)建數(shù)組 C.var obj = ;/創(chuàng)建對象 D.var obj = /; 原因:var obj = new Array ();是對的;JavaScript 中大括號表示創(chuàng)建對象。var obj = id:1, name:jacky ;alert();上例表示創(chuàng)建一個具有屬性 id (值為 1)、屬性 name(值為 jacky)的對象。屬性名稱可以用引號引起來成 id、name,也
2、可以不引。 當(dāng)然除了屬性,也可以創(chuàng)建方法。 試驗代碼 /* 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(); var obj = id:1, name:jacky, showName:showName ; obj.showName(); 2
3、、以下哪個單詞不屬于javascript保留字:(b) A.with B.parent C.class D.void 以下的保留字不可以用作變量,函數(shù)名,對象名等,其中有的保留字是為以后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 lo
4、ng native new null package private protected public return short static super switch synchronized this throw throws transient true try var void while with 3、請選擇結(jié)果為真的表達(dá)式:(c) A.null instanceof Object(if(!(null instanceof Object)是真的) B.null = undefined C.null = undefined D.NaN = NaN (1) null確實可以理解為原始類型
5、,不能當(dāng)Object理解! null,int,float.等這些用關(guān)鍵字表示的類型,都不屬于Object. 至于可以把null作為參數(shù),只是特殊規(guī)定而已. 可以這么理解: 對象的引用代表的是一個內(nèi)存的值,null是一個空引用,可以理解為內(nèi)存的值為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 Fu
6、nction);/true Function 是Object的實例,Object又是Function的實例 Function是函數(shù)的構(gòu)造函數(shù),而Object也是函數(shù),F(xiàn)unction自身也是函數(shù) Ototype是一切原型鏈的頂點,instanceof會查找整個原型鏈 alert(Function); alert(Ftotype); alert(Function._proto_); alert(Object); alert(Ototype); alert(Object._proto_); alert(function().prototyp
7、e); 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
8、= NaN) alert(ddd); */ 二、不定項選擇題 4、請選擇對javascript理解有誤的:(abcd) A.JScript是javascript的簡稱 B.javascript是網(wǎng)景公司開發(fā)的一種Java腳本語言,其目的是為了簡化Java的開發(fā)難度 C.FireFox和IE存在大量兼容性問題的主要原因在于他們對javascript的支持不同上 D.AJAX技術(shù)一定要使用javascript技術(shù) 5、foo對象有att屬性,那么獲取att屬性的值,以下哪些做法是可以的:(ACE) A.foo.att B.foo(“att”) C.foo“att” D.foo“att” E.foo
9、“a”+”t”+”t” 6、在不指定特殊屬性的情況下,哪幾種HTML標(biāo)簽可以手動輸入文本:(ab) A. B. C. D. 7、以下哪些是javascript的全局函數(shù):(abc) A.escape B.parseFloat C.eval D.setTimeout E.alert 8、關(guān)于IFrame表述正確的有:(abcd) A.通過IFrame,網(wǎng)頁可以嵌入其他網(wǎng)頁內(nèi)容,并可以動態(tài)更改 B.在相同域名下,內(nèi)嵌的IFrame可以獲取外層網(wǎng)頁的對象 C.在相同域名下,外層網(wǎng)頁腳本可以獲取IFrame網(wǎng)頁內(nèi)的對象 D.可以通過腳本調(diào)整IFrame的大小 9、關(guān)于表格表述正確的有:(abcde)
10、A.表格中可以包含TBODY元素 B.表格中可以包含CAPTION元素 C.表格中可以包含多個TBODY元素 D.表格中可以包含COLGROUP元素 E.表格中可以包含COL元素 10、關(guān)于IE的window對象表述正確的有:(acd) A.window.opener屬性本身就是指向window對象 B.window.reload()方法可以用來刷新當(dāng)前頁面 C.window.location=”a.html”和window.location.href=”a.html”的作用都是把當(dāng)前頁面替換成a.html頁面 D.定義了全局變量g;可以用window.g的方式來存取該變量 三、問答題: 1、
11、談?wù)刯avascript數(shù)組排序方法sort()的使用,重點介紹sort()參數(shù)的使用及其內(nèi)部機制 sort的實現(xiàn)的功能類似JAVA的比較器,數(shù)據(jù)排序從多維數(shù)組的第一維開始排序 可以自己定義排序方法,很不多的函數(shù) 2、簡述DIV元素和SPAN元素的區(qū)別。 DIV是塊元素,span是內(nèi)聯(lián)元素或叫行內(nèi)元素1.所謂塊元素,是以另起一行開始渲染的元素,行內(nèi)元素則不需另起一行,2.塊元素和行內(nèi)元素也不是一成不變的,通過定義CSS的display屬性值可以互相轉(zhuǎn)化DIV指定渲染 HTML 的容器。 SPAN指定內(nèi)嵌文本容器。3、結(jié)合text這段結(jié)構(gòu),談?wù)刬nnerHTML outerHTML innerT
12、ext之間的區(qū)別。 這個問題只要寫一下看的很清楚 innerHTML對象里面的HTML,outerHTML包括對象和里面的 innerText對象里面的文本 4、說幾條XHTML規(guī)范的內(nèi)容(至少3條) 屬性加引號,不能有不匹配的標(biāo)簽,加定義 5、對Web標(biāo)準(zhǔn)化(或網(wǎng)站重構(gòu))知道哪些相關(guān)的知識,簡述幾條你知道的Web標(biāo)準(zhǔn)? 網(wǎng)頁主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對應(yīng)的網(wǎng)站標(biāo)準(zhǔn)也分三方面:結(jié)構(gòu)化標(biāo)準(zhǔn)語言,主要包括XHTML和XML;表現(xiàn)標(biāo)準(zhǔn)語言主要包括CSS;行為標(biāo)準(zhǔn)主要包括對象模型(如W3C DOM)、ECMAScript等
13、。四、程序題: 1、完成foo()函數(shù)的內(nèi)容,要求能夠彈出對話框提示當(dāng)前選中的是第幾個單選框。 function foo()var rg = document.getElementsByName(radioname);for(var i=0; irg.length; i+)if(rgi.checked)alert(你選擇了第 + (i+1) + 個單選框!);return false; 2、數(shù)字反轉(zhuǎn) alert(reverse(a,b,c,d,e,f,g);function reverse(str)var spl = str.split(,), newstr = ;for(var i=spl.
14、length-1; i=0; i-)newstr += spli + ,;newstr = newstr.substring(0, newstr.length - 1);return newstr;其它相關(guān)面試第一題編寫一個方法 求一個字符串的字節(jié)長度new function(s) if (!arguments.length | !s) return null; if ( = s) return 0; var l = 0; for (var i = 0; i 255) l += 2; else l+; alert(l);(hello你好,我好,大家好!world!);第二題如何控制alert中
15、的換行alert(hellonworld);第三題解釋document.getElementById(ElementID).style.fontSize=1.5em;em是個相對單位。第四題將一個類似圖中的效果分離成css和html第五題按照格式 xxxx年xx月xx日xx時xx分xx秒動態(tài)顯示時間 要求不足10的補0new function() var t = function(a) return a 10 ? 0 + a : a; alert(new Date().getFullYear() + 年 + t(new Date().getMonth() + 1) + 月 + t(new Da
16、te().getDate() + 日 + t(new Date().getHours() + 時 + t(new Date().getMinutes() + 分 + t(new Date().getSeconds() + 秒);第六題編寫一個方法 去掉一個數(shù)組的重復(fù)元素Atotype.strip = function() if (this.length 2) return this0 | ; var arr = ; for (var i = 0; i this.length; i+) arr.push(this.splice(i-, 1); for (var j = 0; j
17、this.length; j+) if (thisj = arrarr.length - 1) this.splice(j-, 1); return arr;var arr = abc, 85, abc, 85, 8, 8, 1, 2, 5, 4, 7, 8;alert(arr.strip();第七題說出3條以上ff和ie的腳本兼容問題第八題按要求寫一個簡單的ajax示例 簡單的沒意義 就不寫了var Browser = /* Browser對象用于檢測瀏覽器,其中用到了IE的條件編譯 */ /*cc_on isIE:true, */ isFF: window.navigator.appNam
18、e.toUpperCase().indexOf(NETSCAPE) != -1 ? true : false, isOpera: window.navigator.appName.toUpperCase().indexOf(OPERA) != -1 ? true : false;Ftotype.bind = function(object) var _this = this; return function() _this.apply(object, arguments); function HttpRequest() this.async = true; this.ca
19、che = false; this.xmlhttp = function() if (Browser.isFF & window.XMLHttpRequest) try return new XMLHttpRequest(); catch (e) else if (Browser.isIE & window.ActiveXObject) var Version = Msxml2.XMLHTTP.6.0, Msxml2.XMLHTTP.5.0, Msxml2.XMLHTTP.4.0, Msxml2.XMLHTTP.3.0, Msxml2.XMLHTTP.2.6, Msxml2.XMLHTTP,
20、Microsoft.XMLHTTP.1.0, Microsoft.XMLHTTP.1, Microsoft.XMLHTTP; for (var i = 0; i Version.length; i+) try return new ActiveXObject(Versioni); catch (e) () | false;HttpRtotype = send: function(object, url, callback) if (!this.xmlhttp) return; this.xmlhttp.open(object ? post : get, url, !this
21、.async); if (object) this.xmlhttp.setRequestHeader(content-type, application/x-www-form-urlencoded); if (!this.cache) this.xmlhttp.setRequestHeader(No-Cache, 1); this.xmlhttp.setRequestHeader(Pragma, no-cache); this.xmlhttp.setRequestHeader(Cache-Control, no-cache); this.xmlhttp.setRequestHeader(Exp
22、ire, 0); this.xmlhttp.setRequestHeader(Last-Modified, Wed, 1 Jan 1997 00:00:00 GMT); this.xmlhttp.setRequestHeader(If-Modified-Since, -1); if (!this.callback) this.callback = callback; if (!this.async) if (typeof(this.callback) = string) eval(this.callback); else if (typeof(this.callback) = function
23、) this.callback(this.xmlhttp); else this.xmlhttp.onreadystatechange = function() if (this.xmlhttp.readyState = 4) if (this.xmlhttp.status = 0 | this.xmlhttp.status = 200) if (typeof(this.callback) = string) eval(this.callback); else if (typeof(this.callback) = function) this.callback(this.xmlhttp);
24、.bind(this); this.xmlhttp.send(object); , abort: function() if (this.xmlhttp & this.xmlhttp.abort) this.xmlhttp.abort(); ; /ajax類定義結(jié)束new HttpRequest().send(null, , function(r) document.getElementById(load).innerHTML = r.responseText.match(/img).join(););1、form中的input有哪些類型?各是做什么處理使用
25、的? text radio checkbox file button image submit reset hidden submit是button的一個特例,也是button的一種,它把提交這個動作自動集成了。 如果表單在點擊提交按鈕后需要用JS進行處理(包括輸入驗證)后再提交的話,通常都必須把submit改成button, 即取消其自動提交的行為,否則,將會造成提交兩次的效果,對于動態(tài)網(wǎng)頁來說,也就是對數(shù)據(jù)庫操作兩次。 button具有name、value屬性,能觸發(fā)onclick事件 submit繼承了button submit增加了觸發(fā)表單onsubmit事件的功能、增加了執(zhí)行表單的s
26、ubmit()方法的功能INPUT type=submit按回車提交表單 button提交的是innerTEXT2、table標(biāo)簽中border,cellpadding td標(biāo)簽中colspan,rowspan分別起什么作用? border邊界 cellpadding邊距 cellpadding,是補白,是指單元格內(nèi)文字與邊框的距離 cellspacing,兩個單元格之間的距離 colspan跨列數(shù) rowspan跨行數(shù) 3、form中的input可以設(shè)置readonly和disable,請問這兩項屬性有什么區(qū)別? readonly不可編輯,但可以選擇和復(fù)制 disable不能編輯復(fù)制選擇 4
27、、JS中的三種彈出式消息提醒(警告窗口、確認(rèn)窗口、信息輸入窗口)的命令是什么? alert confirm prompt內(nèi)容摘要:JavaScript中的對象是怎么一回事,JavaScript中的function的用法有時怎么樣的.JavaScript的面試人員必須搞懂這些問題。內(nèi)容正文:一. JavaScript中的對象.JavaScript中的Object是一組數(shù)據(jù)的key-value的集合, 有點類似于Java中的HashMap, 所有這些數(shù)據(jù)都是Object里的property. 通常情況下, JavaScript中建立一個對象用new加上constructor function來實現(xiàn)
28、. 如new Date(), new Object()等.var book = new Object(); = JavaScript is Cool;book.author = tom;book.pages = 514;上面例子中的name和page就是名為book的對象中的property. 我們可以用delete來刪除Object中的property: delete ;. 除了Object, Date等buildin的對象外, 我們可以寫自己的constructor function, 然后使用new就可以建立自己的對象. 如上面的book可以寫成:fu
29、nction Book (name, author, page) = name; this.author = author; this.page = page;var abook = new Book(JavaScript is Cool, tom, 514);二. function的用法 在JavaScript中, function是一種數(shù)據(jù)類型, 所有的function都是從buildin的Function object 衍生的對象. 所以在JavaScript 中function可以作為參數(shù)傳遞, 可以作為Object的property, 也可以當(dāng)作函數(shù)返回值. fu
30、nction在JavaScript中有兩種用法, 一種是當(dāng)作constructor, 前面加上new keyword用來建立對象. 一種是當(dāng)作method, 為其他對象調(diào)用.注意function和method在中文里的意思相當(dāng), 在有些語言里也可以通用. 但是在JavaScript中, 它們還是有所區(qū)別的. function本身是是一個對象, 而當(dāng)作為一個方法他屬于一個對象時, 就成為了一個這個對象的method, 相當(dāng)于一個對象種的屬性. 也就是說method是相對于一個對象而言的, function在某些情況下成為了一個對象的method. function Book(name, auth
31、or, page) = name; this.author = author; this.page = page; this.getReader = Book_getReader;function Book_getReader() /.上面的例子種, function Book_getReader()就成為了Book的一個名為getReader的method. call()和apply()是Function object 的兩個方法, 它們也可以使一個function作為另一個對象的method來調(diào)用用. call()和apply()都需要參數(shù), 而第一個參數(shù)就是調(diào)用對象,
32、 也就是當(dāng)function內(nèi)部出現(xiàn)this時, this所指的對象. call()和apply()的區(qū)別在于call()可以傳遞任意長度參數(shù), 只要第一個參數(shù)時調(diào)用對象. 而apply只接受兩個參數(shù), 需要將除調(diào)用對象外的所有參數(shù)放入一個數(shù)組中. 即:function getBooksWithSameAuthor(form, to) var name = this.author; var books = . /get books written by name and from year from to year to return books;var abook = new Book(JavaScript is Cool, tom, 514);var books = getBooksWithSameAuthor.call(abook, 1990, 2005);或var books = getBooksWithSameAuthor.apply(abook, 1990, 2005);當(dāng)一個fun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源咨詢顧問合同書
- 產(chǎn)品售后服務(wù)情況說明表
- 制造業(yè)企業(yè)知識產(chǎn)權(quán)保護策略研究
- 光纜遷移施工方案范本
- 橡膠跑道施工方案
- 涼山道路施工方案
- TCSMT YB011-2024 天然氣發(fā)熱量測量裝置測試技術(shù)規(guī)范
- 建筑工程人工費承包合同-@-1
- 物業(yè)地面處理方案
- 透水砼路面施工方案
- 精細(xì)化工工藝學(xué)-第1章緒論講解課件
- 仰拱棧橋計算
- 中醫(yī)婦科 月經(jīng)過多課件
- 2022年江西制造職業(yè)技術(shù)學(xué)院單招語文試題及答案解析
- 穆斯林太巴熱咳慶念詞文
- 商標(biāo)一級授權(quán)書模板
- 軟硬結(jié)合板的設(shè)計制作與品質(zhì)要求課件
- 民營醫(yī)院組織架構(gòu)圖示
- 慢性心功能不全護理查房
- 初中 初二 物理 凸透鏡成像規(guī)律實驗(習(xí)題課) 教學(xué)設(shè)計
- 消防維保方案 (詳細(xì)完整版)
評論
0/150
提交評論