JS面试题总结

将会输出什么?(考察变量提升)

var foo = 1;

function (){

console.log(foo);

var foo = 2;

console.log(foo);

}

答案是undefined 和 2。


实现随机选取10--100之间的10个数字,存入一个数组,并排序

var iArray = [ ];

funtion getRandom (istart, iend){

    var iChoice = iend - istart +1;

    return Math.floor(Math.random() * iChoice + istart);

    }

    for(vari=0; i<10; i++){

    iArray.push(getRandom(10,100));

}

iArray.sort();


实现一个函数clone,可以对JavaScript中的5种主要的数据类型进行值复制(考察基本类型和引用类型的区别,以及递归算法)


如何消除一个数组里面重复的元素?

先排序,然后再前后比较。


一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp),有一条疯狗,一看到人就会每隔半秒叫一声(wow)地不停叫唤(yelp)。请根据描述,按示例的形式用代码来实。(考察继承,原型,setInterval)

①function  Dog () {

  this.wow = function () {

  alert(’Wow’);

  }

  this.yelp = function () {

  this.wow();

  }

}

②function  MadDog () {

  this.yelp = function () {

  varself = this;

    setInterval (function () {

    self.wow ();

    }, 500);

  }

}

MadDog.prototype = newDog();


六  addSpace("hello world") // -> 'h e l l o  w o r l d'?

string.OBject.split("").join(" ")


定义一个log方法,可以代理console.log,并可以传入多个参数

八 函数表达式和函数声明的区别

你可能感兴趣的:(JS面试题总结)