Js动脑大会(持续更新中)

218 阅读1分钟

第一题

const out = 25;
const inner = {
    out: 20,
    func: function () {
        return this.out;
    }
};
console.log((inner.func, inner.func)());
console.log(inner.func());
console.log((inner.func)());
console.log((inner.func = inner.func)());
答案:undefined,20,20,undefined;

第二题

var a = 1;
function a() {
    console.log(2);
}
console.log(a);
答案:1;

第三题

const a = 1;
function a() {
    console.log(2);
}
console.log(a);
答案:报错,变量a重复声明;

第四题

function b(x, y, a) {
    arguments[2] = 10;
    console.log(a);
}
b(1, 2, 3);
答案:10;

第五题

function a() {
    console.log(this);
}
a.call(null);
答案:window;

第六题

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

第七题

不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标。
let a = new Array(100);
a = a.join(',').split(',').map((item,index) => index);

题目还在持续更新中···,有题目贡献可以留言在下方交流。