js 测试

时间:2023-03-08 17:21:11

今天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;

}