




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前端程序員面試分類真題11一、多項(xiàng)選擇題1.
以下對(duì)JavaScript的理解中,錯(cuò)誤的是______A.JScript和JavaScript是等價(jià)的B.JavaScript脫離瀏覽器后就不能執(zhí)行C(江南博哥).JavaScript由ECMAScript、DOM和BOM組成D.JavaScript是一門弱類型的語言正確答案:AB[考點(diǎn)]基本語法[解析]雖然JavaScript和JScript都是ECMAScript的實(shí)現(xiàn),但兩者是由不同公司設(shè)計(jì)的,因此并不能完全畫等號(hào)。JavaScript主要運(yùn)行在一個(gè)內(nèi)置JavaScript解釋器的客戶端中,瀏覽器只是其中的一種。
2.
在嚴(yán)格模式中會(huì)拋出錯(cuò)誤的是______A.functionsum(x,x){}B.deletewindow.locationC.varx=010D.vareval="strick"正確答案:ABCD[考點(diǎn)]基本語法[解析]嚴(yán)格模式對(duì)JavaScript的語法和行為都做了一些更改,消除了語言中一些不合理、不確定和不安全之處。嚴(yán)格模式規(guī)定函數(shù)聲明中不能定義同名參數(shù),不能用delete運(yùn)算符刪除不可刪除的屬性,禁止使用以0為前綴的八進(jìn)制數(shù)字,不能將eval用作變量。根據(jù)這4個(gè)限制可知,執(zhí)行選項(xiàng)A、選項(xiàng)B、選項(xiàng)C和選項(xiàng)D中的代碼都會(huì)拋出錯(cuò)誤。
3.
以下是JavaScript數(shù)據(jù)類型的有______A.intB.stringC.booleanD.object正確答案:BCD[考點(diǎn)]基本語法[解析]在JavaScript中,數(shù)字類型由number表示,而不是選項(xiàng)A中的int。number類型支持十進(jìn)制、八進(jìn)制和十六進(jìn)制的整數(shù),還包括浮點(diǎn)數(shù)(雙精度數(shù)值)、時(shí)間日期、NaN和Infinity。
4.
在執(zhí)行時(shí)會(huì)發(fā)生異常的語句是______A.varobj=()B.varobj=//C.varobj={}D.varobj=[]正確答案:AB[考點(diǎn)]基本語法[解析]選項(xiàng)A中的圓括號(hào)內(nèi)需要有表達(dá)式,否則是無效語法;選項(xiàng)B會(huì)把兩根斜杠當(dāng)成注釋,從而讓這條語句變得不完整,發(fā)生異常;選項(xiàng)C是創(chuàng)建對(duì)象的一種簡(jiǎn)寫形式;選項(xiàng)D是創(chuàng)建數(shù)組的一種簡(jiǎn)寫形式。
5.
下列選項(xiàng)中,屬于JavaScript內(nèi)置對(duì)象的是______A.StringB.FunctionC.RegExpD.Array正確答案:ABCD[考點(diǎn)]對(duì)象[解析]當(dāng)JavaScript解釋器啟動(dòng)(也就是瀏覽器加載新頁面)時(shí),會(huì)有一些可用的內(nèi)置對(duì)象(built-inobjects)被初始化,這些內(nèi)置對(duì)象包括:全局對(duì)象、String、Boolean、Number、Object、Function、Array、Date、RegExp、Error、Math和JSON。由此可知,4個(gè)選項(xiàng)都是內(nèi)置對(duì)象。
6.
在以下選項(xiàng)中,表示全局函數(shù)的有______A.ceil()B.parseInt()C.stringify()D.isNaN()正確答案:BD[考點(diǎn)]對(duì)象[解析]選項(xiàng)A中的ceil()是Math對(duì)象中的一個(gè)方法,會(huì)對(duì)一個(gè)數(shù)進(jìn)行向上取整;選項(xiàng)B中的parseInt()是一個(gè)全局函數(shù),能將字符串解析為指定基數(shù)的整數(shù);選項(xiàng)C中的stringify()是JSON對(duì)象中的一個(gè)方法,用于將JavaScript對(duì)象序列化為JSON字符;選項(xiàng)D中的isNaN()也是一個(gè)全局函數(shù),能夠判斷一個(gè)值是否是NaN。
7.
執(zhí)行下面的代碼后,對(duì)name屬性的描述中,錯(cuò)誤的是______
varobj={};
Object.defineProperty(obj,"name",{
configurable:false
});A.可以用delete運(yùn)算符刪除該屬性B.可以再把該屬性的configurable特性設(shè)為trueC.可以再修改為可枚舉特性(enumerable)D.可寫特性(writable)只能從true改為false正確答案:ABC[考點(diǎn)]對(duì)象[解析]在ECMAScript5中,屬性能夠設(shè)置自身的特性。當(dāng)屬性的configurable特性為false時(shí),將會(huì)有以下5種限制:
(1)不能用delete運(yùn)算符刪除此屬性,如果強(qiáng)行刪除,那么在嚴(yán)格模式中會(huì)拋出錯(cuò)誤。
(2)不能再變回可配置。
(3)不能再修改成可枚舉特性。
(4)可寫特性只能從true改為false,不能從false改為true。
(5)不能變成訪問器屬性。
8.
定義txt變量,指向一個(gè)<p>元素,以下能為該元素添加CSS類primary的選項(xiàng)有______A.txt.class="primary"B.txt.className="primary"C.txt.classList.add("primary")D.txt.classList.insert("primary")正確答案:BC[考點(diǎn)]控制元素[解析]在Element對(duì)象中有個(gè)className屬性,專門用于讀寫CSS類,因此可以像選項(xiàng)B那樣設(shè)置CSS類。HTML5為每個(gè)元素定義了classList屬性,該屬性保存著一個(gè)類數(shù)組對(duì)象,能對(duì)元素的CSS類進(jìn)行添加、檢測(cè)和移除等操作,選項(xiàng)C就是通過對(duì)象的add()方法來設(shè)置CSS類的。
9.
下列由鼠標(biāo)觸發(fā)的事件有______A.clickB.mouseoverC.keydownD.touchstart正確答案:AB[考點(diǎn)]事件處理和Ajax[解析]選項(xiàng)C中的keydown事件是由鍵盤觸發(fā)的,選項(xiàng)D中的touchstart是一種觸摸事件,專門用于移動(dòng)設(shè)備。
10.
下列選項(xiàng)中,能通過jQuery的方式獲得代碼中單選框選中值的是______
<inputtype="radio"name="gender"value="1"/>
<inputtype="radio"name="gender"value="2"/>A.$(":radio:checked").val()B.$(":radio").Val()C.$("[name=gender]:checked").val()D.$("[name=gender]").Val()正確答案:AC[考點(diǎn)]jQuery[解析]jQuery中的:radio選擇器能匹配單選框元素,:checked選擇器能匹配處于選中狀態(tài)的元素,因此選項(xiàng)A能獲得選中值。選項(xiàng)C中方括號(hào)內(nèi)的選擇器能夠匹配name屬性為“gender”的元素,也就是兩個(gè)單選框,再與:checked組合就能獲得選中值。
11.
jQuery中被譽(yù)為工廠函數(shù)的是______A.ready()B.jQuery()C.$()D.function()正確答案:BC[考點(diǎn)]jQuery[解析]jQuery的工廠函數(shù)是選項(xiàng)B中的jQuery(),而該函數(shù)還有一個(gè)別名,也就是選項(xiàng)C中的“$”,用一個(gè)美元符號(hào)來代替函數(shù)名稱。
12.
jQuery包含的選擇器有______A.屬性選擇器B.表單選擇器C.ID選擇器D.類選擇器正確答案:ABCD[考點(diǎn)]jQuery[解析]jQuery不但支持傳統(tǒng)的CSS選擇器(例如ACD中的選擇器),還擴(kuò)展出了一套獨(dú)有的選擇器,例如過濾選擇器以及選項(xiàng)B中的表單選擇器等。
13.
在jQuery中,能遍歷同輩節(jié)點(diǎn)的方法是______A.siblings()B.closest()C.children()D.next()正確答案:AD[考點(diǎn)]jQuery[解析]同輩節(jié)點(diǎn)就是HTML文檔中的兄弟元素。選項(xiàng)A中的siblings()能選取匹配的兄弟元素;選項(xiàng)B中的closest()能選取最先匹配的祖先元素;選項(xiàng)C中的children()能選取匹配的子元素;選項(xiàng)D中的next()能選取后一個(gè)匹配的兄弟元素。
二、填空題1.
Number(012)返回的結(jié)果為______,Number("0xA")返回的結(jié)果為______。正確答案:10、10[考點(diǎn)]數(shù)據(jù)類型[解析]轉(zhuǎn)型函數(shù)Number()可以將非數(shù)字類型的值轉(zhuǎn)為數(shù)字。當(dāng)參數(shù)是數(shù)字時(shí),所有進(jìn)制的數(shù)都會(huì)按十進(jìn)制計(jì)算,第一個(gè)表達(dá)式中的八進(jìn)制數(shù)012經(jīng)過計(jì)算后的結(jié)果為10。當(dāng)參數(shù)是字符串時(shí),如果字符串是十六進(jìn)制數(shù),那么會(huì)先按十進(jìn)制計(jì)算,第二個(gè)表達(dá)式中的十六進(jìn)制數(shù)0xA經(jīng)過計(jì)算后得到的結(jié)果也為10。
2.
在下面的代碼中,Number()函數(shù)的參數(shù)是一個(gè)對(duì)象,最終的結(jié)果為______。
varnumberObj={
valueOf:function(){
return{};
},
toString:function(){
return"10";
}
};
Number(numberObj);正確答案:10[考點(diǎn)]數(shù)據(jù)類型[解析]當(dāng)參數(shù)是對(duì)象時(shí),先對(duì)其執(zhí)行ToPrimitive抽象操作,變?yōu)榛A(chǔ)類型的值,再進(jìn)行轉(zhuǎn)換。ToPrimitive的操作流程是先檢查是否有valueOf()方法,如果有并且返回基本類型的值(也就是不返回復(fù)雜的對(duì)象),那么就用它的返回值;如果沒有就改用toString()方法,再用它的返回值。對(duì)上面的numberObj執(zhí)行ToPrimitive抽象操作后得到的結(jié)果為10。
3.
~{}等于______,~1.25等于______。正確答案:-1、-2[考點(diǎn)]數(shù)據(jù)類型[解析]按位非運(yùn)算符(~)會(huì)先將所有值轉(zhuǎn)換為整數(shù),再以二進(jìn)制表示,最后執(zhí)行按位取反運(yùn)算(就是將二進(jìn)制位從0變?yōu)?,或從1變?yōu)?)。對(duì)null、undefined、字符串或?qū)ο蟮确菙?shù)字進(jìn)行按位非操作,返回的結(jié)果都為-1。對(duì)任意數(shù)值“X”進(jìn)行按位非的操作大致等同于“-(X+1)”,并且浮點(diǎn)數(shù)的小數(shù)部分會(huì)被截除。
4.
以下代碼最終在控制臺(tái)輸出的結(jié)果為______。
vara={},
b={name:"ping"},
c={name:"wen"};
a[b]=10;
a[c]=20;
console.log(a[b]);正確答案:20[考點(diǎn)]數(shù)據(jù)類型[解析]b和c都是對(duì)象,當(dāng)作為a對(duì)象的屬性名時(shí),會(huì)被轉(zhuǎn)換為字符串類型,兩個(gè)對(duì)象轉(zhuǎn)換后的值都為“[objectObject]”,兩句賦值語句相當(dāng)于下面的代碼。
a["[objectObject]"]=10;
a["[objectObject]"]=20;
5.
[]=![]得到的結(jié)果為______。正確答案:true[考點(diǎn)]數(shù)據(jù)類型[解析]根據(jù)運(yùn)算符的優(yōu)先級(jí)規(guī)則,先執(zhí)行表達(dá)式中邏輯非運(yùn)算符的計(jì)算,“![]”的計(jì)算結(jié)果為false,表達(dá)式變?yōu)椤癧]==false”。空數(shù)組能轉(zhuǎn)換為空字符串,表達(dá)式變?yōu)椤?"==false”。當(dāng)左操作數(shù)是字符串,右操作數(shù)是布爾值時(shí),右邊的布爾值要轉(zhuǎn)為數(shù)字,而false能轉(zhuǎn)為0,表達(dá)式就變?yōu)椤?"==0”。當(dāng)左操作數(shù)是字符串,右操作數(shù)是數(shù)字時(shí),字符串要轉(zhuǎn)為數(shù)字,空字符串能轉(zhuǎn)為數(shù)字0,0和0比較,返回true。
6.
[]+{}得到的結(jié)果為______,{}+[]得到的結(jié)果為______。正確答案:“[objectObject]”、0[考點(diǎn)]數(shù)據(jù)類型[解析]在第一個(gè)表達(dá)式中,空數(shù)組會(huì)變?yōu)榭兆址c空對(duì)象({})進(jìn)行字符串拼接,結(jié)果為“[objectObject]”。第二個(gè)表達(dá)式的“{}”并不是空對(duì)象,而是不執(zhí)行任何操作的空代碼塊,表達(dá)式的值由“+[]”計(jì)算得到,結(jié)果為0。
7.
false=="0"得到的結(jié)果為______,false==="0"得到的結(jié)果為______。正確答案:true、false[考點(diǎn)]數(shù)據(jù)類型[解析]相等運(yùn)算符(==)允許在比較中進(jìn)行類型轉(zhuǎn)換,而全等運(yùn)算符(===)禁止類型轉(zhuǎn)換。在第一個(gè)表達(dá)式中,由于左操作數(shù)是布爾值,右操作數(shù)是字符串,因此左操作數(shù)會(huì)轉(zhuǎn)換為數(shù)字,也就是0,表達(dá)式變?yōu)?="0"。當(dāng)左操作數(shù)是數(shù)字,右操作數(shù)還是字符串時(shí),右操作數(shù)也會(huì)轉(zhuǎn)換為數(shù)字,也就是0,兩者比較返回true。而第二個(gè)表達(dá)式進(jìn)行的是全等比較,不會(huì)有以上轉(zhuǎn)換過程,因此返回false。
三、簡(jiǎn)答題1.
分號(hào)會(huì)在什么時(shí)候自動(dòng)補(bǔ)全?自動(dòng)補(bǔ)全有什么弊端?正確答案:一條語句會(huì)以分號(hào)(;)結(jié)束,語句之間也會(huì)用分號(hào)來隔開。分號(hào)可以增強(qiáng)腳本的可讀性和整潔性,但JavaScript并不強(qiáng)制使用分號(hào)。如果省略了分號(hào)并且無法正確解析代碼,那么JavaScript解釋器就會(huì)根據(jù)自己的判斷在某個(gè)位置插入分號(hào)。讓JavaScript自動(dòng)補(bǔ)全分號(hào)很有可能改變代碼的行為,例如一條以“(、[、/、+、-”這些字符開頭的語句,有可能會(huì)與前一條語句合并在一起,作為一個(gè)整體被解析,代碼如下所示。平時(shí)養(yǎng)成良好的編程風(fēng)格,在句末補(bǔ)全分號(hào),能夠避免很多不必要的錯(cuò)誤。
vartotal=sum
(x+y)
//相當(dāng)于
vartotal=sum(x+y);[考點(diǎn)]基本語法
2.
什么是嚴(yán)格模式?嚴(yán)格模式有哪些限制?正確答案:ECMAScript5引入了嚴(yán)格模式(strictmode)的概念。嚴(yán)格模式對(duì)JavaScript的語法和行為都做了一些更改,消除了語言中一些不合理、不確定、不安全之處;提供高效嚴(yán)謹(jǐn)?shù)牟铄e(cuò)機(jī)制,保證代碼安全運(yùn)行;禁用在未來版本中可能會(huì)使用的語法,為新版本做好鋪墊。在腳本文件第一行或函數(shù)內(nèi)第一行引入“usestrict”這條指令(代碼如下所示),就能觸發(fā)嚴(yán)格模式。這是一條沒有副作用的指令,老版的瀏覽器會(huì)將其作為一行字符串直接忽略。
"usestrict";
//腳本文件第一行
functionsum(x){
"usestrict";
//函數(shù)內(nèi)第一行
returnx;
}
嚴(yán)格模式常見的限制有以下幾條:
(1)所有的變量要先聲明,無法再意外創(chuàng)建全局變量。
(2)函數(shù)中this對(duì)象的默認(rèn)值是undefined,而不是全局對(duì)象(Window)。
(3)試圖使用delete運(yùn)算符刪除不可刪除的屬性會(huì)拋出異常。
(4)函數(shù)聲明中定義兩個(gè)或多個(gè)同名參數(shù)時(shí)將產(chǎn)生一個(gè)語法錯(cuò)誤,例如sum(x,x){)。
(5)禁止使用以0為前綴的八進(jìn)制數(shù)字(例如010),以0x為前綴還是支持的。
(6)禁止使用with語句。
(7)不能將eval和arguments用作變量、函數(shù)或參數(shù)的名稱。[考點(diǎn)]基本語法
3.
undefined和null有哪些異同?正確答案:先來了解一下undefined和null的相同部分,如下所列:
(1)都有空缺的意思。
(2)不包含方法和屬性。
(3)都是假值。
(4)都只有一個(gè)值。
再來了解一下兩者的不同部分,如下所列:
(1)含義不同,undefined表示一個(gè)未定義的值,null表示一個(gè)空的對(duì)象。
(2)類型不同,將typeof運(yùn)算符應(yīng)用于undefined,得到“undefined”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)電工程考試回顧與試題及答案解析
- 機(jī)電系統(tǒng)控制試題及答案
- 軟件設(shè)計(jì)師考前知識(shí)更新試題及答案
- 基于物聯(lián)網(wǎng)的數(shù)字文化產(chǎn)業(yè)商業(yè)模式創(chuàng)新研究報(bào)告
- 開放式問題在西方政治考試中的應(yīng)用試題及答案
- 軟件測(cè)試與開發(fā)團(tuán)隊(duì)的協(xié)作試題及答案
- 機(jī)電工程考試統(tǒng)計(jì)數(shù)據(jù)與試題及答案
- 文化娛樂市場(chǎng)細(xì)分2025年消費(fèi)者行為趨勢(shì)與策略研究報(bào)告
- 醫(yī)療政策改革的有效路徑分析試題及答案
- 軟件設(shè)計(jì)師考試多元能力開發(fā)試題及答案
- 2025-2030中國(guó)旅游行業(yè)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 四川省成都市青羊區(qū)2024年中考語文二模試卷(含答案)
- 2025屆高考語文專題復(fù)習(xí):散文內(nèi)容要點(diǎn)概括分析散文形象 課件
- 《貴州省安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控和隱患排查治理“雙控”體系建設(shè)實(shí)施指南(2018年試行)》
- 教育數(shù)學(xué)概論知到智慧樹章節(jié)測(cè)試課后答案2024年秋成都師范學(xué)院
- 2025“背鍋”第一案!寧夏興爾泰化工集團(tuán)有限公司“12·2”事故調(diào)查報(bào)告課件
- 落地式腳手架專項(xiàng)施工方案
- 體彩代銷者考試題及答案
- 四川省攀枝花市重點(diǎn)名校2025屆中考聯(lián)考生物試題含解析
- 百團(tuán)進(jìn)萬企安全專題宣講
- 狐疝中醫(yī)相關(guān)知識(shí)
評(píng)論
0/150
提交評(píng)論