面试题节选五

一、判断是否为数组的四种方式?

Array.isArray()                                         typeof
instanceof                                               constructor

二、判断对象是否包含自身特定的属性?

hasOwnProperty()

三、改变this指向的三种方式,以及他们的共同点?

all 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象,
第二个参数差别就来了:
call 的参数是直接放进去的第二第三第 n 个参数全都用逗号分隔,直接放到后面 obj.myFun.call(db,‘成都’, … ,‘string’ )。
apply 的所有参数都必须放在一个数组里面传进去 obj.myFun.apply(db,[‘成都’, …, ‘string’ ])。
bind 除了返回是函数以外,它 的参数和 call 一样。

四、0.1-1使用递归求和?

let num = 0;
let sum = 0;
function add(num) {
num += 0.1;
if (num <= 1) {
sum += num;
add(num);
};
return sum;
};
console.log(add(num));

五、闭包的三个特性?

①函数嵌套函数
②函数内部可以引用函数外部的参数和变量
③参数和变量不会被垃圾回收机制回收

六、什么是bfc?

1、bfc定义:

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

2、如何创建BFC

1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible

3、BFC的作用

1.利用BFC避免margin重叠。
2.自适应两栏布局
3.清除浮动

总结:BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。

七、让一个200*200的盒子水平居中

div{
width: 200px;
height: 200px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}

八、获取滚动条的高度

document.documentElement.scrollTop || document.body.scrollTop;(兼容代码)

九、for、foreach、for in、while,语法里的值指的是?

for(初始值;判断条件;变化语句){循环体}
数组(对象).forEach(item,index,arr)—值,下标,当前循环数组
for(键名 in 对象){执行语句(循环体);}
while(判断语句){循环体};

十、opacity的五大兼容性?

opacity{
filter: alpha(opacity=50); 兼容IE6、7、8
-moz-opacity:0.5; 老版的Mozilla
-khtml-opacity:0.5; 老版的Safari
-webkit-opacity:0.5; 支持webkit内核的浏览器
opacity: 0.5; 支持opacity的浏览器
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值