Web前端開發筆試題(Javascript篇)

才智咖 人氣:1.68W

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

Web前端開發筆試題(Javascript篇)

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

("a1a__a1a__a1a__a1a__");

擷取字串abcdefg的efg

var str = "abcdefg";

if (/efg/(str)) {

var efg = tr(xOf("efg"), 3);

alert(efg);

}

判斷一個字串中出現次數最多的字元,統計這個次數

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

var str = "abcdefgaddda";

var obj = {};

for (var i = 0, l = th; i < l; i++) {

var key = str[i];

if (typeof obj[key] == 'undefined') {

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);

IE與FF指令碼相容性問題

(1) t:

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

(2) 獲取事件源

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

(3) 新增,去除事件

IE:chEvent(“onclick”, function) chEvent(“onclick”, function)

FF:ventListener(“click”, function, true) veEventListener(“click”, function, true)

(4) 獲取標籤的自定義屬性

IE:e或div1[“value”]

FF:可用ttribute(“value”)

(5) lementByName()和[name]

IE;lementByName()和[name]均不能獲取div元素

FF:可以

(6) 的屬性

IE:只讀

FF:可讀寫

(7) innerText textContent outerHTML

IE:支援innerText, outerHTML

FF:支援textContent

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

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

FF:不可以

這裡只列出了常見的,還有不少,就不一一列出了….

規避javascript多人開發函式重名問題

(1) 可以開發前規定命名規範,根據不同開發人員開發的功能在函式前加字首

(2) 將每個開發人員的函式封裝到類中,呼叫的時候就呼叫類的函式,即使函式重名只要類名不重複就ok

javascript物件導向中繼承實現

//javascript物件導向中的繼承實現一般都使用到了建構函式和Prototype原型鏈,簡單的程式碼如下:

//(1)物件繼承方法

Function Animal(name) {

= name;

}

ame = function() {alert()}

Var Dog = new Animal(“Buddy”);

//(1) 方法繼承方法

function Animal(name) {

= name;

}

ame = function() {alert()}

function Dog() {};

otype = new Animal("Buddy");

tructor = Dog;

var dog = new Dog();

FF下面實現outerHTML

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

思路如下:

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

 

sdfshdfklsjdafklsajdf;lajk;dfjklsjdfk