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