Go to comments

JavaScript 面试题讲解06

1、考的是私有化变量

function Person(name, age, sex){
  var a = 0;
  alert(a);
  this.name = name;
  this.age = age;
  this.sex = sex;
  function sss(){
    a ++;
    document.write(a);
  }
  this.say = sss;
}

var operson = new Person();
operson.say();// 1
operson.say();// 2

var operson1 = new Person();
operson1.say();// 1


2、微店的题

形参  相当于  var x;  删除不了,删除不了该是什么是什么

(function(x){

  delete x;

  return x;

})(1);


2、考的是  typeof arguments 

arguments 是类数组,类数组也是对象,就算是数组也是 object

function test(){

  console.log(typeof(arguments));

}

test(); // object


3、 h =  后面是一个表达式,写到表达式里的a没有了,a没有了,a执行不了就报错了,

var h = function a(){

  return 23;

}

console.log(typeof a());// a is not definede

报错了error:a is not definede

 

4、随机打乱原数组顺序,然后在一次性返回


5、选择你熟悉的一种放松实现javascrip对象的继承。

圣杯模式,背也背下来。

问继承就说圣杯,就完事了


6、实现Object类型的clone()方法

深度克隆


6、尝试优化以下代码,使代码看起来更优雅

function retDate(day) {

  switch(day){
    case 1:
      document.write("Monday"); 
      break;
    case 2:
      document.write("Tuesday");
      break;
    case 3:
      document.write("Wednesday");
      break;
    case 4:
      document.write("Thursday");
      break;
    case 5:
      document.write("Friday");
      break;
    case 6:
      document.write("Saturday");
      break;
  }
}

优化

function retDate(date) {
  var arr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'];
  var ret = arr[date - 1];
  if(ret == undefined){
    return 'error'; // 超出数组范围返回error
  }else{
    return ret;
  }
}


7、HTML布局实现,头尾固定,中间自适应

三栏布局,

头尾是左右,中间自适应


8、css中选择器有哪些?

id、class、通配符、伪类、伪元素、属性选择器


9、Javascript有哪些数据类型

数据分两类原始值、引用值

数据类型:string、number、boolean、undefiende、object、function


看到一些面试题,说了,类是静态语言里的叫法,java、c++里面叫类,js里叫构造函数


10、作业

1. 一个字符串由 [a - z] 组成,请找出该字符串第一个只出现一次的字母

2. 字符串去重


第一题是阿里巴巴的题

 "erpqiuepiaupoqiqwerbyqpwioweryye"  a和b只出现了一次,把a挑出来,第一个只出现一次的字母

字符串可以向数组一样取

1.  str[0] 

2.  str.charAt(0) 


字符串打散

var str = 'daerszghjdfgasrik';

var str2 = str.split("");

console.log(str2); // ['d', 'a', 'e', 'r', 's', 'z', 'g', 'h', 'j', 'd', 'f', 'g', 'a', 's', 'r', 'i', 'k']



Leave a comment 0 Comments.

Leave a Reply

换一张