HTML5技术

前端面试题目搜集 - 咖啡机(K.F.J)(5)

字号+ 作者:H5之家 来源:H5之家 2015-12-02 09:29 我要评论( )

d. Prototype模式,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承,可以把那些不变的属性和方法,直接定义在prototype对象上。Prototype模式的验证方

d. Prototype模式,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承,可以把那些不变的属性和方法,直接定义在prototype对象上。Prototype模式的验证方法:运算符。

参考《》,查看在线代码

 

4.14、对this指针的理解,可以列举几种使用情况?

指的是:调用函数的那个对象。

a. 纯粹的函数调用,属于全局性调用,因此this就代表全局对象Global。

b. 作为对象方法的调用,这时this就指这个上级对象。

c. 作为构造函数调用,就是通过这个函数new一个新对象(object)。这时,this就指这个新对象。

d. 的调用,它们的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。

参考《》,查看在线代码

 

4.15、在JavaScript中,常用的绑定事件的方法有哪些?

a. 在DOM元素中直接绑定,DOM元素,可以理解为HTML标签,onXXX="JavaScript Code",查看事件列表

b. 在JavaScript代码中绑定,elementObject.onXXX=function(){},通称为DOM0事件系统。

c. 绑定事件监听函数,标准浏览器使用 addEventListener() ,IE11以下版本attachEvent() 来绑定事件监听函数,通称为DOM2事件系统。

参考《JavaScript绑定事件的方法

 

4.16、解释下javascript的冒泡和捕获

事件

a. Netscape主张元素1的事件首先发生,这种事件发生顺序被称为捕获型

b. 微软则保持元素3具有优先权,这种事件顺序被称为冒泡型

c. W3C选择了一个择中的方案。任何发生在w3c事件模型中的事件,首是进入捕获阶段,直到达到目标元素,再进入冒泡阶段

事件监听函数addEventListener()的第三个参数就是控制方法是捕获还是冒泡

参考《》、《javascript的冒泡和捕获》,查看在线代码

 

4.17、jQuery的特点

a. 一款轻量级的js库

b. 丰富快速的DOM选择器

c. 链式表达式

d. 事件、样式、动画等特效支持

e. Ajax操作封装,支持跨域

f. 跨浏览器兼容

g. 插件扩展开发

参考《JQuery特点、优缺点及其常用操作

 

4.18、Ajax有哪些好处和弊端?

优点:

a. 无刷新更新数据

b. 异步与服务器通信

c. 前端和后端负载平衡

d. 基于标准被广泛支持

e. 界面与应用分离

缺点:

a. AJAX干掉了Back和History功能,即对浏览器机制的破坏

b. AJAX的安全问题

c. 对搜索引擎支持较弱

d. 违背URL和资源定位的初衷

参考《AJAX工作原理及其优缺点

 

4.19、null和undefined的区别?

null:

a. null是一个表示"无"的对象,转为数值时为0

b. null表示"没有对象",即该处不应该有值。

undefined:

a. undefined是一个表示"无"的原始值,转为数值时为NaN。

b. undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

参考《undefined与null的区别

 

4.20、new操作符具体干了什么呢?

a. 一个新对象被创建。它继承自函数原型

b. 构造函数被执行。执行的时候,相应的传参会被传入

c. 上下文(this)会被指定为这个新实例

d. 如果构造函数返回了一个“对象”,那么这个对象会取代整个new出来的结果

参考《

 

4.21、js延迟加载的方式有哪些?

a. 将script节点放置在最后</body>之前

b. 使用script标签的defer和async属性,defer属性为延迟加载,是在页面渲染完成之后再进行加载的,而async属性则是和文档并行加载

c. 通过监听onload事件,动态添加script节点

d. 通过ajax下载js脚本,动态添加script节点

参考《javascript延迟加载方式

 

4.22、如何解决跨域问题?

a. JSONP(JSON with Padding),填充式JSON

b. iframe跨域

c. HTML5的window.postMessage方法跨域

d. 通过设置img的src属性,进行跨域请求

e. 跨域资源共享(CORS),服务器设置Access-Control-Allow-OriginHTTP响应头之后,浏览器将会允许跨域请求

 

4.23、documen.write和 innerHTML的区别

write:

a. 改变 HTML 输出流

b. 当在文档加载之后使用 document.write(),这会覆盖该文档。例如onload事件中

c. 输入css的style标签能改变样式,例如document.write("<style>b{color:red;font-weight:bold;}</style>");

innerHTML:

a. 改变 HTML 内容

b. 输入css的style标签不能改变样式

参考《JavaScript HTML DOM - 改变 HTML

 

4.24、哪些操作会造成内存泄漏?

a. 当页面中元素被移除或替换时,若元素绑定的事件仍没被移除,在IE中不会作出恰当处理,此时要先手工移除事件,不然会存在内存泄露。

b. 在IE中,如果循环引用中的任何对象是 DOM 节点或者 ActiveX 对象,垃圾收集系统则不会处理。

c. 闭包可以维持函数内局部变量,使其得不到释放。

d. 在销毁对象的时候,要遍历属性中属性,依次删除,否则会泄漏。

参考《js内存泄漏的几种情况》、《

 

4.25、JavaScript中的变量声明提升?

函数声明和变量声明总是被JavaScript解释器隐式地提升到包含他们的作用域的最顶端。

函数表达式中只会提升名称,函数体只有在执行到赋值语句时才会被赋值。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 从国企到阿里的面试经历(一) - 劼哥stone

    从国企到阿里的面试经历(一) - 劼哥stone

    2017-05-02 16:00

  • 前端工具的安装 - 韩子卢

    前端工具的安装 - 韩子卢

    2017-05-02 08:00

  • 移动前端常用meta标签 - 0jiji0

    移动前端常用meta标签 - 0jiji0

    2017-04-21 12:00

  • 前端项目从0到1的感悟 - liliangel

    前端项目从0到1的感悟 - liliangel

    2017-04-20 12:00

网友点评
t