美文网首页我爱编程
七至九章导读题

七至九章导读题

作者: 空无一码 | 来源:发表于2018-06-11 16:25 被阅读17次

    7.1 如何理解函数声明提升?
    执行代码之前会读取函数声明,这意味着可以把函数声明放在调用它语句的后面。

    7.2 匿名函数的name属性是?
    空字符串

    7.3 怎样实现对函数的递归调用最安全?
    最好使用命名函数表达式,因为使用函数声明时进行引用赋值时,一旦将原来的函数名设置为null,就会导致错误;而使用arguments.callee代替函数名进行递归调用,在严格模式会不允许。

    7.4什么是闭包?
    闭包是指有权访问另一个函数作用域中变量的函数。

    7.5创建闭包的常见方式?
    在一个函数内部创建另一个函数。

    7.6函数第一次调用时发生了什么?
    创建一个执行环境及相应的作用域链,并把作用域链赋值给一个特殊的内部属性[[scope]],然后使用this,arguments和其他命名参数值来初始化函数的活动对象。

    7.7作用域链的本质是?
    一个指向变量对象的指针列表,它只引用但不实际包含变量对象。

    7.8为何建议只在绝对必要时在考虑闭包?
    闭包换携带包含它的函数的作用域,因此会比其他函数占用更多的内存,过度使用闭包会导致内存占用过多。

    7.9匿名函数的this指向?
    Window,因为它的执行环具有全局性。

    7.10函数被调用时,其活动对象自动获取的特殊变量有?
    this和arguments。

    7.11闭包的副作用有?
    只能取得函数中任何变量的最后一个值;
    This指向不符合预期;
    容易发生内存泄漏;

    7.12如何看待重复声明变量?如何解决?
    对后续声明视而不见,但会执行变量的初始化;模仿块级作用域。

    7.13模仿块级作用域的技术一般用在哪?
    全局作用域被用在函数外部,以限制向全局作用域中添加过多的变量和函数,从而避免命名冲突。

    7.14什么是单例?
    只有一个实例的对象

    8.1BOM的事实标准是?
    浏览器之间共有的对象

    8.2window对象的双重角色是?
    既是JS访问浏览器窗口的接口,又是ECMAScript规定的Global对象。

    8.3定义全局变量与在window对象上直接定义属性的区别?
    全局变量不能通过delete操作符删除,而直接在window对象上定义的属性可以。

    8.4引入self对象的目的是?
    与top和parent对象对应起来。

    8.5为何不建议给setTimeout()方法第一个参数传递字符串?
    因为传递字符串可能导致性能损失。

    8.6为何setTimeout()经过第二个参设置的时间后不一定会执行?
    因为JS是一个单线程语言,一定时间内只能执行一段代码,如果任务队列为空,添加的代码会立即执行,若非空,就需要等前面的代码执行后再可执行。

    8.7为何取消间歇调用比取消超时调用重要?
    因为在不加干涉的情况下,间歇调用会一直执行下去

    8.8为何location对象是BOM最有用的对象之一?
    因为它提供了与当前窗口中加载文档的有关信息,还提供了一些导航功能。

    8.9location对象有何特殊之处?
    它既是window对象的属性,也是document对象的属性。

    8.10为何要把reload()放在代码的最后一行?
    因为位于reload()调用之后的代码可能会也可能不执行,这取决了网络延迟或系统资源等因素。

    8.11BOM的对象有?
    框架相关的top、parent、self对象
    location对象、navigator对象、screen对象和history对象。

    9.1什么时候使用客户端检测?
    找不到更通用的方法之后,万不得以

    9.2能力检测的目标是?
    不是识别浏览器,而是识别浏览器的能力。

    9.3能力检测需要注意什么?
    尽量使用typeof进行检测,该特性是否按照适当方式进行。

    9.4在实际开发中,如何应用能力检测?
    应该将能力检测作为确定下一步解决方案的依据,而不是用来判断用户使用的是什么浏览器。

    9.5怪癖检测的目标是?
    识别浏览器的特殊行为,存在什么缺陷。

    9.6用户代理适用的情形有?
    不能直接准确使用能力检测或怪癖检测;
    同一款浏览器在不同平台下具备不同的能力;
    为了跟踪分析等目的。

    9.7客户端检测方法有?
    能力检测、怪癖检测和用户代理检测。

    相关文章

      网友评论

        本文标题:七至九章导读题

        本文链接:https://www.haomeiwen.com/subject/zsicsftx.html