分享前端面试中被问到的几个问题

一.怎么让Chrome支持小于12px 的文字?

  • 这个我们在做移动端的时候,设计师图片上的文字假如是10px,我们实现在网页上之后。往往设计师回来找我们,这个字体能小一些吗?我设计的是10px?为啥是12px?其实我们都知道,谷歌Chrome最小字体是12px,不管你设置成8px还是10px,在浏览器中只会显示12px,那么如何解决这个坑爹的问题呢?

我们的做法是:

  • 针对chrome浏览器,加webkit前缀,用transform:scale()这个属性进行放缩.
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            span{
                font-size: 12px;
                display: inline-block;
                -webkit-transform:scale(0.8);
            }
        </style>
    </head>
    <body>
        <span>测试10px</span>
    </body>
</html>

二、如何修改chrome记住密码后自动填充表单的黄色背景?

  • 使用-webkit-autofill这个属性进行修改.
/*通过input : -webkit-autofill来进行修改!*/
input:-webkit-autofill {
    background-color: #FAFFBD;
    background-image: none;
    color: #000;
}

三、写出最简单的去重方式
1、es6的new Set()方式

let array=[0,3,4,5,3,4,7,8,2,2,5,4,6,7,8,0,2,0,90];
[...new Set(array)]

2、es5的Array filter()

[1,3,4,5,1,2,3,3,4,8,90,3,0,5,4,0].filter(function(elem,index,Array){
   return index === Array.indexOf(elem);
})

四、数组对象全等比较

// 这些可以
'abc' === 'abc' // true
1 === 1 // true
// 然而这些不行
[1,2,3] === [1,2,3] // false
{a: 1} === {a: 1} // false
{} === {} // false

因为[1,2,3]和[1,2,3]是两个不同的数组,只是它们的元素碰巧相同。因此,不能简单的通过===来判断

五、经典面试题目

const Greeters = []
for (var i = 0 ; i < 10 ; i++) {
  Greeters.push(function () { return console.log(i) })
}
Greeters[0]() // 10
Greeters[1]() // 10
Greeters[2]() // 10

把 var 改成 let试试!

const Greeters = []
for (let i = 0 ; i < 10 ; i++) {
  Greeters.push(function () { return console.log(i) })
}
Greeters[0]() // 0
Greeters[1]() // 1
Greeters[2]() // 2

六、Math.min()比Math.max()大

Math.min() < Math.max() // false
Math.min() > Math.max() // true
//因为Math.min() 返回 Infinity, 而 Math.max()返回 -Infinity。

七、实现点击文字,文字后面radio选中效果

<form>  
    <label for="male">Male</label>
    <input type="radio" name="sex" id="male" />
    <br />  
    <label for="female">Female</label>
    <input type="radio" name="sex" id="female" />
</form>

八、网站中,图片文件(jpg,png,gif),如何点击下载?而非点击预览?

  • 我们点击下载按钮,只会预览“baidu.jpg”这张图片,并不会出现下载框,另存为那种?那么我们如何做呢?
<a href="https://www.baidu.com/favicon.ico" download >下载</a>  
<!-- 我们还可以指定文件名称,如下写法: -->
<a href="tupiandizhi.jpg" download="baidu" ></a>
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值