乍看下程式碼似乎沒什麼問題,不過去查了一下JavaScript中replace的用法,其實第一個參數應該是regx的方式
var s=s.replace('aa','AA');
因此,如果改為
var s=s.replace(/\你要置換的字串/g,'AA');這樣就可以正確的把所有符合的字串置換完成了!!
乍看下程式碼似乎沒什麼問題,不過去查了一下JavaScript中replace的用法,其實第一個參數應該是regx的方式
var s=s.replace('aa','AA');
var s=s.replace(/\你要置換的字串/g,'AA');這樣就可以正確的把所有符合的字串置換完成了!!





摘錄自switch-case 邏輯判斷function case1(num){
switch(num){
case 1:
document.writeln("show 1!!");
break;
case 2:
document.writeln("show 2!!");
break;
case 3:
document.writeln("show 3!!");
break;
default:
document.writeln("show others!!");
break;
}
}
function case2(num){
switch(num){
case 1:
document.writeln("show 1!!");
//沒有break,所以會繼續執行case 2
case 2:
document.writeln("show 2!!");
break;
case 3:
document.writeln("show 3!!");
//沒有break,所以會繼續執行case 4
case 4:
document.writeln("show 4!!");
break;
default:
document.writeln("show others!!");
break;
}
}
function case3(num){
switch(num){
case 1:
case 2:
//相當於if(num==1 || num==2)
document.writeln("show 1 or 2!!");
break;
case 3:
case 4:
//相當於if(num==3 || num==4)
document.writeln("show 3 or 4!!");
break;
default:
//相當於else
document.writeln("show others!!");
break;
}
}
function case4(num){
switch(f(num)){
case 1:
case 2:
//相當於if(num==1 || num==2)
document.writeln("show 1 or 2!!");
break;
case 3:
case 4:
//相當於if(num==3 || num==4)
document.writeln("show 3 or 4!!");
break;
default:
//相當於else
document.writeln("show others!!");
break;
}
}
function f(num){
return num;
}
function case5(num){
switch(num<=2){
case true:
document.writeln("num <= 2");
break;
case false:
document.writeln("num > 2");
break;
}
} 情境1:基本型,num 為多少,就會跳到指定的 case 去,執行完特定動作後,會因為遇到 break 而跳離整個 switch 區段,當 num 為 4 的時候,找不到對應的 case 時,就會到 default 去。javascript 中 Array.sort()方法是用來對數組項進行排序的 ,默認情況下是進行升序排列,實例代碼如下:
var arrA = [6,2,4,3,5,1];
arrA.sort();
document.writeln(arrA);
//結果是:1,2,3,4,5,6
sort() 方法可以接受一個 方法為參數 ,這個方法有兩個參數。分別代表每次排序比較時的兩個數組項。sort()排序時每次比較兩個數組項都回執行這個參數,並把兩個比較的數組項作為參數傳遞 給這個函數。當函數返回值為1的時候就交換兩個數組項的順序,否則就不交換。
實例如下:
var arrA = [6,2,4,3,5,1];
/**//*arrA.sort();
document.writeln(arrA);
*/
function desc(x,y)
...{
if (x > y)
return -1;
if (x < y)
return 1;
}
function asc(x,y)
...{
if (x > y)
return 1;
if (x < y)
return -1;
}
arrA.sort(desc); // sort by desc
document.writeln(arrA);
document.writeln("
");
arrA.sort(asc); //sort by asc
document.writeln(arrA);
//輸出結果:
6,5,4,3,2,1
1,2,3,4,5,6
另外,可以直接把一個無名函數直接放到sort()方法的調用中。如下的例子是將奇數排在前面,偶數排在後面,例子如下:
var arrA = [6,2,4,3,5,1];
arrA.sort( function(x, y) ...{
if (x % 2 ==0)
return 1;
if (x % 2 !=0)
return -1;
}
);
document.writeln(arrA);
他們有著本質上的區別。setInterval / setTimeout
- setInterval 裡設定的程式只會被重複觸發,直到執行了 clearInterval 為止
- setTimeout 裡設定的程式只會被觸發一次
- setInterval 和 setTimeout 都是利用時間去觸發某個動作的執行;並且下一行程式不會因為時間設定的長短而被延遲或影響;也就是說當 setInterval 和 setTimeout 那行程式被執行的時候,那個觸發的動作就被交給 window 物件去處理了,其他的程式會被繼續執行,不會受到影響
- setInterval 和 setTimeout 在執行時都會產生 timerID 以便在某些狀況下需要用 clearInterval 和 clearTimeout 去取消那些觸發的動作