拼多多2019秋招笔试之前端

1、取整数部分 A
A. parseInt
B. Math.floor
C. Math.ceil
D. Math.round

2、var a=’string’,b=1,c=true,d=0
d&&a = 0
c&&d = 0

3、a输出什么?

var a='aaa';
(function(){console.log(a);var a='bbb'})()
//输出undefined    
//变形:
var a='aaa';
(function(a){console.log(a);var a='bbb';console.log(a);})(a)
//输出aaa bbb

类型题:

var foo = {n:1};
(function(foo){            //形参foo同实参foo一样指向同一片内存空间,这个空间里的n的值为1
    var foo;               //优先级低于形参,无效。
    console.log(foo.n);    //输出1
    foo.n = 3;             //形参与实参foo指向的内存空间里的n的值被改为3
    foo = {n:2};           //形参foo指向了新的内存空间,里面n的值为2.
    console.log(foo.n);    //输出新的内存空间的n的值
})(foo);
console.log(foo.n);        //实参foo的指向还是原来的内存空间,里面的n的值为3
//输出1 2 3

变形:
如果匿名函数没有传递对象参数foo进去,以下这两步都会同样的报错n is not defined

console.log(foo.n);
foo.n = 3;  

4、dom的margin-bottom设置为-5px,则dom下面的元素将会向上移动,而dom位置不变

5、输出456

var a={};
var b={key:'b'};
var c={key:'c'};
a[b]=123;
a[c]=456;
console.log(a[b]);

解析:
a[b] 里面的b是对象 所以是 a[object object] = 123
a[c] 里面的b是对象 所以是 a[object object] = 456
所以你随便输出console.log(a[{}]),也能得到456
Object.keys(a) => ‘[object Object]’

6、编程题
输入’abc’
输出’abc,acb,bca,bac,cab,cba’

7、编程题-改变形式
输入

obj=[
    {id:1,parent:null},
    {id:2,parent:1},
    {id:3,parent:2}
]

输出

var obj2 = {
    obj: {
        id:1,
        parent:null,
        child: {
            id:2,
            parent:1,
            child: {
                id:3,
                parent:2,
            }
        }
   }
}

8、编程题-数组去重
输入
[1,2,3,3,3,4,4]
输出
[3,4]

9、编程
log(‘Hello’)
输出”(app)Hello”
log(‘Hello’,’world’)
输出”(app)Hello world”

10、new A(‘testa’)会发生什么

11、谈谈你对js的继承的立即,并是实现

12、使用标准dom方法编写代码

猜你喜欢

转载自blog.csdn.net/qq_41401130/article/details/82250881