目录
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( ) ? ? ? ??? ? | 删除数组开头的一个元素,返回的是删除的那个元素,原数组会发生变化 |
|