今天js测试题目: 被基础题目虐暴。。。。。。惨不忍睹
1. var num = 2;
switch(num){
case 1: console.log("1");
case 2: console.log("2");
default: console.log("default");
}输出结果为()// 2和default; 从2进入switch,因为没有break;所以2以后的都要执行。
2.js中的命名法:
1)匈牙利命名法 2)大驼峰 3)小驼峰 4)下划线命名法 (当时没有想起来!!)
3.在数组末端添加元素 push();
在数组末端删除元素 pop();
在数组第一个位置添加元素 unshift();
在数组第一位置删除元素 shift();
颠倒数组元素 reverse();
4.生成对象的三种方法:
1) var obj = {};
2) var obj = new Object();
3) Var obj = Object.create(null); // 他是基于另一个对象而生成的对象,可以继承上一个对象的属性,也可以添加和改变。
var obj1 = {
name : "zdh",
age: 21
}
var obj2 = Object.create(obj);
console.log(obj2.age); //21 证明obj2继承了obj1的属性和属性值;
obj2.name = "zhangdehui";
console.log(obj2.name); //zhangdehui 证明了改变了属性值;
5.数组去重(两种方法):
1) var arr1 = [1,2,3,2,1,5,10];
function quchong1(arr){
var arr2 = [];
for(var i =0;i<arr.length;i++){
if( arr2.indexOf(arr[i]) < 0){
arr2.push(arr[i]);
}
}
return arr2;
}
console.log(quchong1(arr1));
2) 原型链:
var arr = [1,2,1,45,4,5,2,1,45];
Array.prototype.quchong2 = function(){
var arr2[];
var obj = {};
for(var i =0;i<this.length;i++){
if( !obj[this[i]]){
arr2.push(this[i]);
obj[this[i]] = 1;
}
}
return arr2;
}
arr.quchong2();
6. 随机取一长字符串的n个随机字符:
function random(n){
var str = "qwertyuiopasdfghjklzxcvbnm";
var str1 = "";
for(var i =0;i<n;i++){
var index = Math.floor(Math.random()*str.length);
str1 += str.substring(index,index+1);
}
return str1;
}