常见前端面试题及答案(17)

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,通过使用下标就可以访问相应的参数。

arguments虽然有一些数组的性质,但其并非真正的数组,只是一个类数组对象。其并没有数组的很多方法,不能像真正的数组那样调用.jion(),.concat(),.pop()等方法。


76.什么是"use strict";?使用它的好处和坏处分别是什么?

在代码中出现表达式-"use strict"; 意味着代码按照严格模式解析,这种模式使得Javascript在更严格的条件下运行。

好处:
•消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
•消除代码运行的一些不安全之处,保证代码运行的安全;
•提高编译器效率,增加运行速度;
•为未来新版本的Javascript做好铺垫。

坏处:

同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。

77.解释"chaining"。

jQuery方法链接。直到现在,我们都是一次写一条jQuery语句(一条接着另一条)。不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条jQuery命令,一条接着另一条。

提示:这样的话,浏览器就不必多次查找相同的元素。

如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

78.解释"deferreds"。

开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。

通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。

但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点,jQuery开发团队就设计了deferred对象。

简单说,deferred对象就是jQuery的回调函数解决方案。在英语中,defer的意思是"延迟",所以deferred对象的含义就是"延迟"到未来某个点再执行。

79.你知道哪些针对jQuery的优化方法?

•1.总是从ID选择器开始继承在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。


例如有一段HTML代码:

<div id="content">
  <form method="post"action="#">
    <h2>交通信号灯</h2>
    <ul id="traffic_light">
      <li>
        <input type="radio"class="on"name="light"value="red"/>红色
      </li>
      <li>
        <input type="radio"class="off"name="light"value="yellow"/>黄色
      </li>
      <li>
        <input type="radio"class="off"name="light"value="green"/>绿色
      </li>
    </ul>
    <input class="button"id="traffic_button"type="submit"value="Go"/>
  </form>
</div>
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1573.html