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

思而思學網

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

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

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

reg.test("a1a__a1a__a1a__a1a__");

2,截取字符串abcdefg的efg

var str = "abcdefg";

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

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

alert(efg);

}

3,判斷一個字符串中出現次數最多的字符,統(tǒng)計這個次數

//將字符串的字符保存在一個hash table中,key是字符,value是這個字符出現的次數

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]++;

}

}

/遍歷這個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:

表示當前的事件對象,IE有這個對象,FF沒有,FF通過給事件處理函數傳遞事件對象

(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) 獲取標簽的自定義屬性

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瀏覽器中的差異總結

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

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

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

6,javascript面向對象中繼承實現

javascript面向對象中的繼承實現一般都使用到了構造函數和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,FF下面實現outerHTML

FF不支持outerHTML,要實現outerHTML還需要特殊處理

思路如下:

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

SPANDIV

SPAN

P

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

假設:

一個英文字符占用一個字節(jié),一個中文字符占用兩個字節(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,編寫一個方法 去掉一個數組的重復元素

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個使用this的典型應用

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

(2)構造函數

function Animal(name, color) {

this.name = name;

this.color = color;

}

(3)

(4)CSS exPssion表達式中使用this關鍵字

span element

熱門推薦

最新文章