paper_crane的博客

前端学习笔记整理

金山wps2017校招笔试(前端A卷)

昨天有幸参加金山wps校招笔试(前端岗A卷),虽然题目不多,难度不大,但是还是感觉没有发挥好,所以将相关的题目的贴出来,以备往后学习之用。


1. 以下代码A、B、C处分别输出什么(答案已在注释里面)?


console.log(a);             // undefined
var a = 1;

var setA = function() {     // 相当于改变setA指向的函数
  a = 2;
}

// 函数声明提升
function setA() {           // 函数体
  a = 3;
}

console.log(a);             // 1
setA();
console.log(a);             // 2

2. 使用for循环从i=0遍历到i=9,每隔一秒输出i(题目大意,具体不记得)


var i;
for (i = 0; i < 10; i++) {
  (function(j) {
    setTimeout(function() {
      console.log(j);
    }, 1000 * j);
  })(i);
}

3. 第三题忘了,想到再补充,总之不难


4. 以下代码输出结果为


var a = {};
    b = {
      key: 'b'
    },
    c = {
      key: 'c'
    };

a[b] = 123;
a[c] = 456;

console.log(a[b]);   // 456

答案虽然写对了,但是不太肯定,个人认为是a[b]这样调用的时候,b会调用toString方法,b、c调用此方法时,都会返回‘[object Object]’(经Chrome测试得到),所以a[b] === a[c],有不同意见者欢迎提出。


5. 去重。数组[1,2,3,1,'1','2',2]去重后应为[1,2,3,'1','2']。


答案相信很容易就能得到,代码不贴出。


6. 有两个小写字符串s1、s2,s2是s1经过打乱后增加一个小写字符得到的,编程得出s2中增加的字符,算法时间复杂度最好接近O(n)(如s1是'abc',s2是'cbad',那么增加的字符为‘d’)。


这是最后一道题,我不敢保证写对,所以代码也不贴出。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangwx6/article/details/70188156
个人分类: 随笔
上一篇JavaScript 创建对象
下一篇JavaScript 对象
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭