JavaScript 45 道面试题及答案.docx
需积分: 0 9 浏览量
更新于2023-07-09
收藏 23KB DOCX 举报
JavaScript 面试题及答案
闭包
闭包是指有权访问另一个函数作用域中变量的函数。创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。闭包的特性:1、函数内再嵌套函数;2、内部函数可以引用外层的参数和变量;3、参数和变量不会被垃圾回收机制回收。
使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。
作用域链
作用域链的作用是保证执行环境里有权访问的变量和函数是有序的。作用域链的变量只能向上访问,变量访问到 window 对象即被终止,作用域链向下访问变量是不被允许的。简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。
原型和原型链
每个对象都会在其内部初始化一个属性,就是 prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去 prototype 里找这个属性,这个 prototype 又会有自己的 prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。
事件代理
事件代理(Event Delegation),又称之为事件委托,是 JavaScript 中常用绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务。事件代理的原理是 DOM 元素的事件冒泡。使用事件代理的好处是可以提高性能,可以大量节省内存占用,减少事件注册。
继承
JavaScript 中实现继承的方式有四种:构造继承、原型继承、实例继承、拷贝继承。其中,使用构造函数与原型混合方式是比较简单的实现继承的方法。
This 对象
This 对象总是指向函数的直接调用者(而非间接调用者)。如果有 new 关键字,this 指向 new 出来的那个对象。在事件中,this 指向触发这个事件的对象,特殊的是,IE 中的 attachEvent 中的 this 总是指向全局对象 Window。
事件模型
事件模型有三种:冒泡型事件、捕获型事件和 DOM 事件流。冒泡型事件:子级元素先触发,父级元素后触发。捕获型事件:父级元素先触发,子级元素后触发。DOM 事件流:同时支持两种事件模型:捕获型事件和冒泡型事件。
New 操作符
New 操作符具体干了三件事:1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型;2、属性和方法被加入到 this 引用的对象中;3、新创建的对象由 this 所引用,并且最后隐式的返回 this。
Ajax 原理
Ajax 的原理简单来说是在用户和服务器之间加了一个中间层(AJAX 引擎),通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 JavaScript 来操作 DOM 而更新页面。使用户操作与服务器响应异步化。这其中最关键的一步就是从服务器获得请求数据。
向前齐步走
- 粉丝: 60
- 资源: 2904
最新资源
- 基于MATLAB设计和vivado实现的IIR滤波器 采用cheby2函数设计阶数为7(长度为8)的低通滤波器,采样频率为12.5MHz、截止频率为 3.125MHz、阻带衰减为60dB 对上述II
- 机械手机器人含设计文档阳极板自动生产线后翻板机械手
- 威纶通触摸屏中文输入法与配方搜索功能 众所周知威纶中低端触摸屏是不支持中文输入法的,想要实现中文输入只能自己做 此中文输入法支持任何型号的触摸屏,支持常用的汉字输入,支持中文+英文+数
- 龙门码垛机械臂sw20可编辑全套技术资料100%好用.zip
- 机械手机器人含设计文档液压上料机械手
- 烟花特效html网页完整源代码.html
- COMSOL仿真模型,变压器流固耦合温度场,包含变压器的电磁场,损耗计算和温度分布
- 机械手机器人含设计文档移栽翻板机械手
- 非线性离散ADRC,二阶非线性自抗扰控制器 ,控制简单的传递函数,直接内部调参就行(支持算法解答)
- 机械手机器人含设计文档圆柱坐标型工业机器人设计
- python烟花完整源代码.py
- 汽车状态估计,汽车质心侧偏角估计,质心侧偏角估计,卡尔曼滤波估计,状态观测器 Carsim和Simulink联合仿真 使用了两种方法进行估计,一种是状态观测器法,一种是卡尔曼滤波法进行的 两种估
- 机械手机器人含设计文档运载机器人的设计
- 滤芯吸头自动检测设备sw17可编辑全套技术资料100%好用.zip
- 昇腾910B+llm量化脚本+w8a8+qwen2.5-72B
- (带使用说明文档)web组态软件源码,web scada,物联网采集 交付源码,部署文档和使用说明文档 基于web浏览器的组态软件,可以实现数据采集、画面显示、报警、历史曲线、数据MQTT发布等功能