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方法编写代码