JS的一些面试题(自己试答案)

来源:互联网 发布:安卓源码在线生成apk 编辑:程序博客网 时间:2024/05/01 09:04
一、var a = 1;
a.a = 2;
console.log(a.a);
二、var a = {n:1};
var b = a;
a.x = a = {n:2};


alert(a.x);
console.log(b.x);
三、定义一个方法,传入一个string类型的参数,然后将string的每个字符间加个空格返回
spacify('hello world') // => 'h e l l o  w o r l d'
四、去定义log,然后它可以代理console.log的方法,实现log('hello world'),可以传入传入多个参数,传入参数的个数是不定的,可不止两个。
五、var User = {
  count: 1,
  getCount: function() {
    return this.count;
  }
};
console.log(User.getCount());
var func = User.getCount;
console.log(func());
六、for (var i = 0; i < 5; i++) {
  console.log(i);
}
七、for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i);
  }, 1000 * i);
}
八、for (var i = 0; i < 5; i++) {
  (function(i) {
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}
九、for (var i = 0; i < 5; i++) {
  setTimeout((function(i) {
    console.log(i);
  })(i), i * 1000);
}
十、setTimeout(function() {
  console.log(1)
}, 0);
new Promise(function executor(resolve) {
  console.log(2);
  for( var i=0 ; i<10000 ; i++ ) {
    i == 9999 && resolve();
  }
  console.log(3);
}).then(function() {
  console.log(4);
});
console.log(5);
十一、function f1(){
    var n=999;


    function f2(){
      alert(n++);
    }
    return f2;
  }
  var result=f1();
  result();
  result();


0 0
原创粉丝点击