Web前端開發(fā)筆試題和面試題答案大全(一)

思而思學(xué)網(wǎng)

如下整理的是Web前端開發(fā)筆試題大全Javascript篇,移步HTML/CSS篇,大家敬請(qǐng)關(guān)注!

1, 判斷字符串是否是這樣組成的,第一個(gè)必須是字母,后面可以是字母、數(shù)字、下劃線,總長度為5-20

var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;

reg.test("a1a__a1a__a1a__a1a__");

2,截取字符串a(chǎn)bcdefg的efg

var str = "abcdefg";

if (/efg/.test(str)) {

var efg = str.substr(str.indexOf("efg"), 3);

alert(efg);

}

3,判斷一個(gè)字符串中出現(xiàn)次數(shù)最多的字符,統(tǒng)計(jì)這個(gè)次數(shù)

//將字符串的字符保存在一個(gè)hash table中,key是字符,value是這個(gè)字符出現(xiàn)的次數(shù)

var str = "abcdefgaddda";

var obj = {};

for (var i = 0, l = str.length; i < l; i++) {

var key = str[i];

if (!obj[key]) {

obj[key] = 1;

} else {

obj[key]++;

}

}

/遍歷這個(gè)hash table,獲取value最大的key和value/

var max = -1;

var max_key = "";

var key;

for (key in obj) {

if (max < obj[key]) {

max = obj[key];

max_key = key;

}

}

alert("max:"+max+" max_key:"+max_key);

4,IE與FF腳本兼容性問題

(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:span1.value或span1[“value”]

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

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

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

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:不可以

這里只列出了常見的,還有不少,更多的介紹可以參看JavaScript在IE瀏覽器和Firefox瀏覽器中的差異總結(jié)

5,規(guī)避javascript多人開發(fā)函數(shù)重名問題

(1) 可以開發(fā)前規(guī)定命名規(guī)范,根據(jù)不同開發(fā)人員開發(fā)的功能在函數(shù)前加前綴

(2) 將每個(gè)開發(fā)人員的函數(shù)封裝到類中,調(diào)用的時(shí)候就調(diào)用類的函數(shù),即使函數(shù)重名只要類名不重復(fù)就ok

6,javascript面向?qū)ο笾欣^承實(shí)現(xiàn)

javascript面向?qū)ο笾械睦^承實(shí)現(xiàn)一般都使用到了構(gòu)造函數(shù)和Prototype原型鏈,簡單的代碼如下:

function Animal(name) {

this.name = name;

}

Animal.prototype.getName = function() {alert(this.name)}

function Dog() {};

Dog.prototype = new Animal("Buddy");

Dog.prototype.constructor = Dog;

var dog = new Dog();

7,F(xiàn)F下面實(shí)現(xiàn)outerHTML

FF不支持outerHTML,要實(shí)現(xiàn)outerHTML還需要特殊處理

思路如下:

在頁面中添加一個(gè)新的元素A,克隆一份需要獲取outerHTML的元素,將這個(gè)元素append到新的A中,然后獲取A的innerHTML就可以了。

SPANDIV

SPAN

P

8,編寫一個(gè)方法 求一個(gè)字符串的字節(jié)長度

假設(shè):

一個(gè)英文字符占用一個(gè)字節(jié),一個(gè)中文字符占用兩個(gè)字節(jié)

function GetBytes(str){

var len = str.length;

var bytes = len;

for(var i=0; i

if (str.charCodeAt(i) > 255) bytes++;

}

return bytes;

}

alert(GetBytes("你好,as"));

9,編寫一個(gè)方法 去掉一個(gè)數(shù)組的重復(fù)元素

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

Array.prototype.unique = function(){

var ret = [];

var o = {};

var len = this.length;

for (var i=0; i

var v = this[i];

if (!o[v]){

o[v] = 1;

ret.push(v);

}

}

return ret;

};

alert(arr.unique());

10,寫出3個(gè)使用this的典型應(yīng)用

(1)在html元素事件屬性中使用,如

(2)構(gòu)造函數(shù)

function Animal(name, color) {

this.name = name;

this.color = color;

}

(3)

(4)CSS exPssion表達(dá)式中使用this關(guān)鍵字

span element

熱門推薦

最新文章