畅捷通前端面试题

一、请写出一下每行代码的输出结果(6分)

!!(0 == false)
!!(0 == undefined)
undefined == null
isNaN(1312") == NaN
typeof 1 == true ? 1: 0
typeof [] == "array"
[] instanceof Array

二、请正确的写出下面代码在现代浏览器控制台中输出的结果(5分)

 for(var i = 0; i < 3; i++){
    setTimeout(function(){
      console.log(i);
    },(function(){
      var b = i * 1000;
      console.log(b);
      return b;
    })());
  }

三、请实现一个bind方法来传递this作用域和参数(10分)

 //函数,bind(上下文参数,普通参数1,普通参数2...);
  var dom = document.getElementById("ab");
  dom.onclick = (function(){
    console.log(this);
  }).bind(this);

四、类和继承(10分)

场景:
1.有一个鸭子类Duck,有颜色属性color,还有会叫的方法quack();
2.有一个玩具鸭子继承自Duck,玩具鸭子有一个方法play()。请用混合继承(构造方法和原型链)的方式写出一个Duck和子类DuckToy的实现;

五、DOM事件(10分)

有如下列表的DOM结构,请写出监听li元素上的click事件,并且获得li的内容。
要求:
1.不能修改DOM
2.使用原生javascript实现。不能借用其他框架,类库
3.需要兼容IE8+,Chrome,Firefox等浏览器

<div>
  <li></li>
  <li></li>
  ...
  <li></li>
  <li></li>
</div>

六、阅读下面的代码片段,请问最后id=”node”的div背景颜色是什么?(3分)

#node{
background:orange;
}
.list .classB{
    background-color:yellow;
}
.classA{
    width:100px;
    height:100px;
    color:red !important;
}
<div class="list">
    <div id="node" class="classB classA" style="color:blue;"></div>
</div>

七、为了让下面大面片段中的div在浏览器中呈现的宽度是100px,请问box-sizing的值是多少?(4分)

.box{
    box-sizing:______;
    margin:10px;
    padding:10px;
    width:100px;
    height:50px;
    border:2px solid red;
}
<div class="box"></div>

八、使用javascript实现一个检测字符串是否符合回文规则的函数(10分)

回文:(指顺读和倒读都一样的词语。),就像“上海自来水来自海上”就是一个回文句。
要求:
1.不使用类似reverse()之类的函数
2.注意性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值