没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript 45道面试题和答案.docx
需积分: 0 0 下载量 10 浏览量
2023-06-15
17:21:04
上传
评论
收藏 23KB DOCX 举报
温馨提示
试读
15页
JavaScript 45道面试题和答案.docx
资源推荐
资源详情
资源评论
闭包
闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内
创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域
闭包的特性:
1、函数内再嵌套函数
2、内部函数可以引用外层的参数和变量
3、参数和变量不会被垃圾回收机制回收
说说你对闭包的理解
使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭
包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。在 js 中,函数即闭包,只有
函数才会产生作用域的概念
说说你对作用域链的理解
1、作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上
访问,变量访问到 window 对象即被终止,作用域链向下访问变量是不被允许的
2、简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命
周期
JavaScript 原型,原型链?有什么特点?
1、每个对象都会在其内部初始化一个属性,就是 prototype(原型),当我们访问一个对象的属性时
2.如果这个对象内部不存在这个属性,那么他就会去 prototype 里找这个属性,这个 prototype 又会有
自己的 prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念
3、关系: instance. constructor. prototype= instance. proto 特点:
1、JavaScript 对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型
副本。当我们修改原型时,与之相关的对象也会继承这一改变
2.当我们需要一个属性的时,Javascript引擎会先看当前对象中是否有这个属性,如果没有的就会查
找他的 Prototype 对象是否有这个属性,如此递推下去,一直检索到 Object 内建对象
请解释什么是事件代理
1、事件代理(Event Delegation),又称之为事件委托。是 JavaScript 中常用绑定事件的常用技巧。顾名
思义,“事件代理”即是把原本需要绑定的事件
委托给父元素,让父元素担当事件监听的职务。事件代理的原理是 DOM 元素的事件冒泡。使用事
件代理的好处是可以提高性能
2、可以大量节省内存占用,减少事件注册,比如在 table 上代理所有 td 的 click 事件就非常棒
3、可以实现当新增子对象时无需再次对其绑定
Javascript 如何实现继承?
1、构造继承
2、原型继承
3、实例继承
4、拷贝继承
原型 prototype 机制或 apply 和 call 方法去实现较简单,建议使用构造函数与原型混合方式
function Parent(){
this. name ='wang';
}
function Child(){
this. age =28;
}
Child. prototype =new Parent();//继承了 Parent,通过原型
var demo =new Child();
alert(demo. age);
alert(demo. name);//得到被继承的属性
}
谈谈 This 对象的理解
1、this 总是指向函数的直接调用者(而非间接调用者)
2、如果有 new 关键字,this 指向 new 出来的那个对象
3、在事件中,this 指向触发这个事件的对象,特殊的是,IE 中的 attachEvent 中的 this 总是指向全局对象
Window
事件模型
1、_冒泡型事件:当你使用事件冒泡时,子级元素先触发,父级元素后触发
2、捕获型事件:当你使用事件捕获时,父级元素先触发,子级元素后触发
3、DOM 事件流:同时支持两种事件模型:捕获型事件和冒泡型事件
4、阻止冒泡:在 W3c 中,使用 stopPropagation()方法;在 IE 下设置 cancelBubble =true
5、阻止捕获:阻止事件的默认行为,例如 click-<a>后的跳转。在 W3c 中,使用 preventDefault()方
法,在 IE 下设置 window. event. returnValue=false
new 操作符具体干了什么呢?
1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型
2.属性和方法被加入到 this 引用的对象中
3、新创建的对象由 this 所引用,并且最后隐式的返回 this
Ajax 原理
1、Ajax 的原理简单来说是在用户和服务器之间加了一个中间层(AJAX 引擎),通过 XmtHttpRequest
对象来向服务器发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面。使用
户操作与服务器响应异步化。这其中最关键的一步就是从服务器获得请求数据。
2、Ajax 的过程只涉及 JavaScript,XMLHttpRequest 和 DOM。XMLHttpRequest 是 ajax 的核心机制
//1、创建连接
var xhr=null;
xhr=new XMLHttpRequest()
//2、连接服务器
xhr. open('get',url,true)
//3、发送请求
xhr. send(null);
//4、接受请求
xhr. onreadystatechange=function(){
if(xhr. readyState ==4){
if(xhr. status ==200){
success(xhr. responseText);
} else {//fail
fail &&fail(xhr. status);
}
剩余14页未读,继续阅读
资源评论
红红火火a
- 粉丝: 21
- 资源: 1813
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功