js面試

1.獲取一堆name名相同的div猖辫,點(diǎn)擊彈出顯示第幾個(gè)div

(本題主要考察閉包的用法森瘪,是在面試中常被問的題目托启,不難但是比較容易上當(dāng)?shù)念}目)

var boxes = document.getElementsByTagName("div");

for(var i = 0; i < boxes.length; i++) {

boxes[i].index = i+1;

boxes[i].onclick = function() {

alert(this.index);

}

}

答案二

var boxes = document.getElementsByTagName("div");

for(var i = 0; i < boxes.length; i++) {

(function(i){

boxes[i].onclick = function() {

alert(i+1);

}

})(i);

}

2.abcdefgsdds 獲取里面字面最多的字母(答案有很多)

var str = “abcdefgsdds”;

var obj = {};

var arr = [];

var letter;

for(var i = 0,len = str.length;i

letter = str[i];

if(!obj[letter]){

obj[letter] = 1;

}else{

obj[letter]++;

}

}

var max_key,max_num=0;

for(key in obj){

if(max_num

max_num = obj[key];

max_key = key;

}

}

document.write(“字母:”+max_key+” 次數(shù):”+max_num);


3.abcdefghi 獲取ghi怎么實(shí)現(xiàn)

答:”abcdefghi".substring(6)


4.‘a(chǎn)sdjhklzxc’ 截取’asd’

答:”asdjhklzxc".substring(3,-1)


5.翻轉(zhuǎn)字符串

答:”asd".split("").reverse().join("")


6.刪除數(shù)組第一個(gè)元素

答:arr.shift()


7.[1,2,1,3,2,3,5,6,5]? 去除重復(fù)元素

var arr = [1,2,1,3,2,3,5,6,5] ;

var newArr = [];

for(var i = 0; i < arr.length; i++) {

if(newArr.indexOf(arr[i]) == -1) {

newArr.push(arr[i]);

}

}

alert(newArr)


7.JS中有幾種數(shù)據(jù)類型分別是哪幾種肋殴?

答:Number,String,Boolean,Object,Null,Undefined


8.說一下拖拽的原理洽沟?怎么樣實(shí)現(xiàn)多個(gè)DIV在拖拽時(shí)有相撞讓它們改變屬性與屬性值和他們的位置以故?(部分程度不太好的看到拖拽會(huì)懵,項(xiàng)目期有這個(gè)情況)

mousedown,mousermove,mouseup事件

e.clientX,e.clientY 鼠標(biāo)位置

碰撞檢測(cè)


9.用JS創(chuàng)建一個(gè)a標(biāo)簽裆操,在body中顯示怒详,點(diǎn)擊在新窗口打開

var alink = document.createElement("a");

alink.innerHTML = "google";

alink.;

alink.target = "_blank";

document.body.appendChild(alink);


10.鼠標(biāo)滾輪動(dòng)畫

function mousewheel(element,up,down) {

element.onmousewheel = fn;

if(window.addEventListener) {

element.addEventListener("DOMMouseScroll",fn,false)

}

function fn(e) {

var e = e || window.event;

console.log(e);

if(e.wheelDelta > 0 || e.detail < 0) {

up();

}else {

down();

}

e.cancelBubble = true;

e.stopPropagation();

}

}

mousewheel(document,function(){},function(){})//函數(shù)調(diào)用


12.定位右下角廣告

答:使用css position:fixed


13.鼠標(biāo)經(jīng)過A? A變大其他的位置不動(dòng)

答:A絕對(duì)定位,脫離文檔流即可


14.JS中避免命名沖突的三個(gè)方法(有些同學(xué)或許會(huì)想不到這些概念)

答:命名空間踪区,閉包昆烁,匿名函數(shù)


15.JS在HTML中的引入方式有哪些?又有什么優(yōu)缺點(diǎn)缎岗?

答:a外部引入b內(nèi)部嵌套c行內(nèi)代碼例:按鈕 對(duì)比css引入


16.寫出5條標(biāo)識(shí)符的命名規(guī)范()

答:1.區(qū)分大小寫静尼;

2.第一個(gè)字符必須是一個(gè)字母、下劃線(_)或一個(gè)美元符號(hào)($)

3..不能含有空格

4.不能以關(guān)鍵字或保留字命名,不能以數(shù)字開頭

17.從JS的角度传泊,寫出8條以上優(yōu)化代碼的方法鼠渺?

答:參考http://www.haorooms.com/post/web_xnyh_jscss


18.按優(yōu)先級(jí),對(duì)這幾種運(yùn)算符進(jìn)行排序:眷细!&&? *? =? >

答:拦盹!&& *> =


19.在循環(huán)中,break和continue語(yǔ)句的功能有何不同

答:break 終止整個(gè)循環(huán)溪椎,continue終止當(dāng)次循環(huán)


20.解釋事件冒泡普舆、事件捕獲的區(qū)別

答:事件流解釋即可


21.說說什么叫做事件委托

答:利用事件冒泡的原理,子元素的事件會(huì)冒泡到父元素池磁,可以只給父元素添加事件奔害,通過事件目標(biāo)判斷元素。優(yōu)點(diǎn):節(jié)省內(nèi)存地熄,動(dòng)態(tài)添加的子元素也包含事件


22.列舉不少于6條的IE與FF腳本兼容性問題华临,需要寫出命令(也許同學(xué)們?nèi)狈偨Y(jié),看著簡(jiǎn)單端考,實(shí)際很難答全)

(1) window.event:

表示當(dāng)前的事件對(duì)象雅潭,IE有這個(gè)對(duì)象揭厚,F(xiàn)F沒有,F(xiàn)F通過給事件處理函數(shù)傳遞事件對(duì)象

(2) 獲取事件源

IE用srcElement獲取事件源扶供,而FF用target獲取事件源

(3) 添加筛圆,去除事件

IE:element.attachEvent(“onclick”, function) element.detachEvent(“onclick”, function)

FF:element.addEventListener(“click”, function, true) element.removeEventListener(“click”, function, true)

(4) 獲取標(biāo)簽的自定義屬性

IE:div1.value或div1[“value”]

FF:可用div1.getAttribute(“value”)


(5) document.getElementByName()和document.all[name]

IE;document.getElementByName()和document.all[name]均不能獲取div元素

FF:可以

(6) input.type的屬性

IE:input.type只讀

FF:input.type可讀寫

(7) innerText textContent outerHTML

IE:支持innerText, outerHTML

FF:支持textContent

(8) 是否可用id代替HTML元素

IE:可以用id來代替HTML元素

FF:不可以


23.構(gòu)造函數(shù)有何優(yōu)缺點(diǎn)椿浓?

答:構(gòu)造函數(shù)可以創(chuàng)建多個(gè)對(duì)象太援,

缺點(diǎn):容易跟普通函數(shù)一樣調(diào)用


24.用自己的話描述一下“閉包“

答:函數(shù)內(nèi)部又定義了一個(gè)函數(shù),內(nèi)部函數(shù)引用外部函數(shù)的變量扳碍,就構(gòu)成了閉包


25.用自己的話描述一下對(duì)“異步“和”同步“的理解

同步:按順序執(zhí)行提岔,同一時(shí)刻只能執(zhí)行一個(gè)事件

異步:不按順序執(zhí)行,同一時(shí)刻可以執(zhí)行多個(gè)任務(wù)


26.寫倒計(jì)時(shí)距離2018年還有多少天多少小時(shí)多少分鐘多少秒

var time = document.getElementById("time");

function clock() {

//設(shè)置目標(biāo)日期

var targetDate = new Date(2018,0,1);

var currentDate = new Date();

var remainTime = targetDate - currentDate;

//天數(shù)

remainDay = parseInt(remainTime/1000/60/60/24);

//小時(shí)數(shù)

remainHours = parseInt(remainTime/1000/60/60%24);

//分鐘

remainMinutes = parseInt(remainTime/1000/60%60);

//秒

remainSeconds = parseInt(remainTime/1000%60);


time.innerHTML = remainDay + "天"+remainHours+"小時(shí)"+remainMinutes+"分鐘"+remainSeconds+"秒";

}

setInterval(clock,1000);


27.alert怎樣換行

答:轉(zhuǎn)義字符,換行符\n

alert("大家好\n大家好")


28.左側(cè)內(nèi)容可上下滾動(dòng)笋敞,右側(cè)是滾動(dòng)條碱蒙,如何實(shí)現(xiàn)布局

答:固定高度,overflow-y:scroll


29.向上滾動(dòng)動(dòng)畫如何實(shí)現(xiàn)

document.body.scrollTop = "xxx";

document.documentElement.scrollTop = "xxx";


30.form表單提交

答:默認(rèn)提交夯巷,form.onsubmit = function(){}可在表單數(shù)據(jù)提交之前驗(yàn)證


31.javaScript與ECMAScript的區(qū)別赛惩?

答:javascript是具體實(shí)現(xiàn),ECMAScript是標(biāo)準(zhǔn)趁餐,大綱


32.==與===的區(qū)別喷兼?

==等于,判斷值是否相等后雷,會(huì)有類型轉(zhuǎn)換

===全等褒搔,判斷類型跟值是否相等,類型不會(huì)轉(zhuǎn)換


33.什么是DOM喷面?

答:文檔對(duì)象模型


34.Undefined與null的區(qū)別?

答:Undefined無定義走孽,null空


35.有兩個(gè)對(duì)象惧辈,var o = {num:1};var p = {num:2};要求書寫一段代碼,使得o+p===3為true磕瓷。

Object.prototype.toString = function(){

return this.num;

}


36.如果給你這么一個(gè)頁(yè)面:頂部有l(wèi)ogo什么的盒齿,下來是導(dǎo)航條,中上部有圖片切換困食,右邊是登錄注冊(cè)边翁,左邊有簡(jiǎn)單的信息展示,中下部是一些新聞硕盹,底部是一般的那些聯(lián)系我們呀什么的傳統(tǒng)頁(yè)尾符匾。這樣一個(gè)布局加上所有的js效果和新聞鏈接包括所有的兼容,你大概能多久完成(新鴻儒)瘩例;


37.講解一下this (作用域)

this的指向:普通函數(shù)內(nèi)的this指向全局變量

構(gòu)造函數(shù)內(nèi)部this指向新創(chuàng)建出來的對(duì)象

對(duì)象方法內(nèi)的this指向的是調(diào)用該方法的對(duì)象

call,apply,bind可以改變this的指向


38.構(gòu)造函數(shù)

答:new關(guān)鍵字后緊接的函數(shù)即為構(gòu)造函數(shù)啊胶,約定首字母大寫


39.原型甸各,原型鏈的理解

答:ECMA5之前沒有類的概念,js的繼承是基于原型鏈的


40.說說前端優(yōu)化從哪方面著手焰坪,具體說明有哪些趣倾?

html 語(yǔ)義化,符合標(biāo)準(zhǔn)某饰,減少嵌套層數(shù)儒恋,加快瀏覽器DOM解析速度

css 合并,壓縮少寫冗余css代碼黔漂,使用精靈圖...

js 減少DOM操作诫尽,使用變量緩存數(shù)據(jù),少用全局變量瘟仿,做動(dòng)畫的元素都絕對(duì)定位...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箱锐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子劳较,更是在濱河造成了極大的恐慌驹止,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件观蜗,死亡現(xiàn)場(chǎng)離奇詭異臊恋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)墓捻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門抖仅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砖第,你說我怎么就攤上這事撤卢。” “怎么了梧兼?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵放吩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我羽杰,道長(zhǎng)渡紫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任考赛,我火速辦了婚禮惕澎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颜骤。我一直安慰自己唧喉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著欣喧,像睡著了一般腌零。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唆阿,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天益涧,我揣著相機(jī)與錄音,去河邊找鬼驯鳖。 笑死闲询,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浅辙。 我是一名探鬼主播扭弧,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼记舆!你這毒婦竟也來了鸽捻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤泽腮,失蹤者是張志新(化名)和其女友劉穎御蒲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诊赊,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厚满,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碧磅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碘箍。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鲸郊,靈堂內(nèi)的尸體忽然破棺而出丰榴,到底是詐尸還是另有隱情,我是刑警寧澤秆撮,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布多艇,位于F島的核電站,受9級(jí)特大地震影響像吻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜复隆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一拨匆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挽拂,春花似錦惭每、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宏赘。三九已至,卻和暖如春黎侈,著一層夾襖步出監(jiān)牢的瞬間察署,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工峻汉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贴汪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓休吠,卻偏偏與公主長(zhǎng)得像扳埂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘤礁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5阳懂? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,422評(píng)論 1 45
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品柜思,去做同樣的事情岩调,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 7,718評(píng)論 2 17
  • /* provider可以封裝(value factory service constant除外),pr...
    lwz4070閱讀 1,606評(píng)論 0 0
  • 昨天看完了楊絳先生寫的《我們仨》酝蜒,看完是毫無征兆的看完誊辉,只到了看到最后一個(gè)字,才發(fā)現(xiàn)是看完了亡脑,全書文字樸實(shí)情切堕澄,...
    孔叁三閱讀 241評(píng)論 0 0
  • “千載一揆”。 王陽(yáng)明說霉咨,人人皆可為圣人蛙紫,你怎么修行做圣人呢?也很簡(jiǎn)單途戒,圣道無非是日用常行坑傅,應(yīng)事接物待人,當(dāng)你做每...
    華杉2009閱讀 932評(píng)論 0 2