第八章 BOM

1. ////这些对象的含义和区别? ,它表示浏览器的一个实例 对象还是 ECMAScript 中的 对象,因而所有全局变量和函数都是它的属性,且所有原生的构造 函数及其他函数也都存在于它的命名空间下 此外, 页面可能包含很多 frames 对象始终指向最外围的框架(frames),也就是整个浏览器窗口 对象表示包含当前框架的框架,而 self 对象则回指 在没有框架的情况下, 一定等于 (此时它们都等于 ) 与框架有关的最后一个对象是 self…

第九章 客户端检测

至少是我这里的前端开发都是自顶向下的模式, 即先按照支持程度最高的浏览器上开发, 之后再适配其他浏览器. 因此, 适配过程就需要对不同的客户端. 能力检测 H5 能力检测, 比如这个库: modernizr 怪癖检测(Bug 检测) 一般情况下不推荐使用. userAgent 检测 一般通过正则匹配 userAgent 进行平台鉴别. 例如: UAParser.js Lightweight JavaScript-based User-Agent String Parser

第六章 面相对象的程序设计

1. 对象定义? 无需属性的集合, 其属性可以包含基本值/对象/函数; 或者, 没有特定顺序的散列表. 或者, 使用 js 实现一个散列表? 答: var a = {}; 2. 操作符执行的过程? 3. 下面的输出结果是? 4. 谈谈你对 prototype 的理解? 每个函数都有一个(原型)属性, 这个属性是一个指针, 指向 prototype 原型对象 prototype 原型对象的用途是包含可以由特定类型的所有实例共享的属性和方法 prototype…

第五章 引用类型

1. 下面代码返回什么, 位置 3~98 返回什么? 说明: array 类型的 length 属性不是只读的, 设置 length 可以对数组动态缩减及扩容. 可根据需要动态添加数据, length 自动叠加, 中间未定义的数据为 undefined 2. 数组复制的方法有哪些? 3. 不影响原值的情况下, 获取数组最后一个元素的方法有哪些? 4. 理解 Function, 实现方法的 polyfill…

第四章 变量-作用域和内存问题

问答 1. 何为基本类型和引用类型? 基本类型: 简单的数据段, 类型如, undefined, null, boolean, string, number; 引用类型: 值保存在堆内存中的对象, 通过地址访问. 2. 函数传递参数时, 基础类型是按值传递/引用类型是按引用传递? 回答: 全部是按值传递!! 当在向参数传递引用类型的值时, 会把这个值在堆内存中的地址复制给一个局部变量. 可以把 ECMAScript…

第七章 函数表达式

问答 1. 函数声明的语法是? 2. 函数表达式(匿名函数)的语法是? 3. 以下递归语句是否报错, 报错原因是? 如何改进? 错误: Uncaught TypeError: factorial is not a function 原因: 函数 factorial 内部的 factorial 指向 null, 因此报错. 方法 1: arguments.callee, 它指向当前正在执行的函数指针. 但是严格模式不允许使用. 方法 2: 函数表达式…