目錄
1.已知陣列var stringArray = [“This”, “is”, “Baidu”, “Campus”]
2.已知有字串foo=”get-element-by-id”,寫function將其轉化成駝峰表示法
3.已知陣列var numberArray = [3,6,2,4,1,5];應用陣列API進行操作
4.以YYYY-MM-DD格式輸出今天的日期
5.使用正則運算式將字串"{$id}{$name}"中的{$id}替換成10,{$name}替換成Tony
6.為了保證頁面輸出安全,我們經常需要對一些特殊的字符進行轉義,請寫一個函式escapeHtml,將<, >, &, “進行轉義
7.foo = foo||bar ,這行代碼是什么意思?為什么要這樣寫?
8.以下代碼輸出結果為?
9.用js實作隨機選取10–100之間的10個數字,存入一個陣列,并排序
10.把兩個陣列合并,并洗掉第二個元素
1.已知陣列var stringArray = [“This”, “is”, “Baidu”, “Campus”]
Alert出”This is Baidu Campus”:
alert(stringArray.join(" ")) //將陣列轉化為字串并用空格隔開
2.已知有字串foo=”get-element-by-id”,寫function將其轉化成駝峰表示法
function combo(msg){
var arr=msg.split("-");
for(var i=1;i<arr.length;i++){
arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
}
msg=arr.join("");
return msg;
}
3.已知陣列var numberArray = [3,6,2,4,1,5];應用陣列API進行操作
(1)實作對該陣列的倒排,輸出[5,1,4,2,6,3];
numberArray.reverse( )(2)實作對該陣列的降序排列,輸出[6,5,4,3,2,1];
numberArray.sort(function(a,b){return b-a})
4.以YYYY-MM-DD格式輸出今天的日期
var d = new Date();
// 獲取年,getFullYear()回傳4位的數字
var year = d.getFullYear();
// 獲取月,月份比較特殊,0代表1月,11代表12月
var month = d.getMonth() + 1;
// 變成兩位
month = month < 10 ? '0' + month : month;
// 獲取日
var day = d.getDate();
day = day < 10 ? '0' + day : day;
alert(year + '-' + month + '-' + day);
5.使用正則運算式將字串"<tr><td>{$id}</td><td>{$name}</td></tr>"中的{$id}替換成10,{$name}替換成Tony
"<tr><td>{$id}</td><td>{$id}_{$name}</td></tr>".replace(/{\$id}/g,'10').replace(/{\$name} /g,'Tony');在正則表帶式中的直接量的形式:/要匹配的字串/,/^ 嚴格模式 $/,/g默認在全域下找到所有匹配該字串的元素,replace替換匹配到的字串,特殊符號用 \ 轉義,
6.為了保證頁面輸出安全,我們經常需要對一些特殊的字符進行轉義,請寫一個函式escapeHtml,將<, >, &, “進行轉義
function escapeHtml(str) {
return str.replace(/[<>”&]/g, function(match) {
switch (match) {
case “<”:
return “<”;
case “>”:
return “>”;
case “&”:
return “&”;
case “\””:
return “"”;
}
});
}
7.foo = foo||bar ,這行代碼是什么意思?為什么要這樣寫?
如果foo存在,值為foo,否則把bar的值賦給foo,
短路運算式:作為”&&”和”||”運算子的運算元運算式,這些運算式在進行求值時,只要最終的結果已經可以確定是真或假,求值程序便告終止,這稱之為短路求值,
8.以下代碼輸出結果為?
var foo = 1; (function(){ console.log(foo); var foo = 2; console.log(foo); })()//變數宣告提升后,以上代碼相當于: var foo = 1; (function(){ var foo; console.log(foo); //undefined foo = 2; console.log(foo); // 2; })()函式宣告與變數宣告會被JavaScript引擎隱式地提升到當前作用域的頂部,但是只提升變數名不提升值,該代碼輸出undefined 和 2,
9.用js實作隨機選取10–100之間的10個數字,存入一個陣列,并排序
function randomNub(aArray, len, min, max) {
if (len >= (max - min)) {
return '超過' + min + '-' + max + '之間的個數范圍' + (max - min - 1) + '個的總數';
}
if (aArray.length >= len) {
aArray.sort(function(a, b) {
return a - b
});
return aArray;
}
var nowNub = parseInt(Math.random() * (max - min - 1)) + (min + 1);
for (var j = 0; j < aArray.length; j++) {
if (nowNub == aArray[j]) {
randomNub(aArray, len, min, max);
return;
}
}
aArray.push(nowNub);
randomNub(aArray, len, min, max);
return aArray;
}
var arr=[];
randomNub(arr,10,10,100);
10.把兩個陣列合并,并洗掉第二個元素
var array1 = ['a','b','c'];
var bArray = ['d','e','f'];
var cArray = array1.concat(bArray);
cArray.splice(1,1); //在陣列的第(引數1)個索引值開始,洗掉(引數2)個陣列元素,回傳剩余的含有陣列值的陣列
slice()
常用陣列API:
| toString( ) | 將陣列轉為字串 |
| indexOf( ) | 檢測陣列中是否含有某個元素,回傳的是元素的下標,如果找不到則回傳-1 |
| join( ) | 將陣列轉為字串,同時指定分割的符號 |
| concat | 拼接多個陣列,回傳一個大的陣列 |
| reverse( ) | 翻轉陣列元素 |
| slice( ) | 截取陣列中的元素slice(start,end) ;start是開始的下標,end是結束的下標 |
| splice( ) | 洗掉陣列中的元素 |
| push( ) | 往陣列的末尾添加一個或者多個元素,回傳的是陣列的元素,原陣列會發生變化 |
| pop( ) | 洗掉陣列末尾的一個元素,回傳的是洗掉的那個元素,原陣列會發生變化 |
| unshift( ) | 往陣列的開頭添加一個或者多個元素,回傳的是陣列的元素,原陣列會發生變化 |
| shift( ) | 洗掉陣列開頭的一個元素,回傳的是洗掉的那個元素,原陣列會發生變化 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/333825.html
標籤:其他
