首页 > 其他分享 >JS面试题

JS面试题

时间:2023-08-21 13:11:13浏览次数:36  
标签:异步 面试题 对象 JS promise 事件 原型 节点

事件委托

  • 事件委托本质上是利用了浏览器事件冒泡的机制。因为事件在冒泡过程中会传递到父节点;因此可以把子节点的监听函数定义在父节点上(这样父节点就是绑定事件的节点),父节点可以通过事件对象获取目标节点(就是触发事件的节点),由父节点的监听函数统一处理多个子元素的事件,这种方式就是事件委托。
  • 使用事件委托可以不必为每一个子元素都绑定一个监听事件,这样减少了内存上的消耗,此外,使用事件委托还可以实现事件的动态绑定,比如说新增一个子节点,并不需要为它添加一个监听事件,事件委托会直接交给父元素的监听函数来处理。

原型

  • 在JS中,每个对象都有一个原型,原型是一个对象,它包含了共享的属性和方法,可以被其他对象继承和访问。
  • 当你访问一个对象的属性和方法时,如果该对象自身没有这个属性或方法,JS会去它的原型链上查找,原型链是一个连接对象和原型的链式结构,每个对象都有一个隐式指向其原型的链接

promise

  • promise是异步编程的一种解决方案,本质上是一个构造函数,new一个promise对象用来封装一个异步操作可以获取其成功或失败的值,promise实例被创建后回调函数会立即执行。
  • promise有三种状态:pending(等待中)、fulfilled(成功的)、rejected(失败的) 状态一旦改变就不会再变。
  • promise的.then()和.catch()操作都能返回一个Promise对象
  • promise可以实现在异步操作执行完后,用链式调用的方式执行回调函数从而解决回调地狱的问题;promise可以支持多个并发的请求,获取并发请求的数据。promise可以解决异步的问题,本身不能说 promise 是异步的
  • promise.all()方法
  • promise.race()方法

标签:异步,面试题,对象,JS,promise,事件,原型,节点
From: https://www.cnblogs.com/bingMIN/p/17645748.html

相关文章

  • 【开源三方库】bignumber.js:一个大数数学库
    OpenHarmony(OpenAtom OpenHarmony简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者可以通过访问开源社区获取。接下来我们来了解bignumber.js开源三方库。bignum......
  • JS的执行还分是谁发起的?
    这一部分首先我们考虑一下,如果我们是浏览器或者Node的开发者,我们该如何使用JavaScript引擎。当拿到一段JavaScript代码时,浏览器或者Node环境首先要做的就是;传递给JavaScript引擎,并且要求它去执行。然而,执行JavaScript并非一锤子买卖,宿主环境当遇到一些事件时,会继续......
  • Threejs用官方提供的编辑器做一个简单的模型
    Threejs有提供一个web端的编辑器制作3D模型,地址是https://threejs.org/editor/,这个打开就可以在线编辑,但是因为比较简陋,所以只能做一些简单的模型用于测试,实际开发中还是用blender这种标准的建模软件来建模,首先打开页面可以看到下面的画面,(是英文版本的,不过单词都比较简单,可以凑合看......
  • 在Windows系统上,给perl安装JSON::parse module
    管理员身份打开powershell,一定以管理员身份打开:输入下面两行命令即可 cpanApp::cpanminuscpanmJSON::Parse JSON::Parse指南:https://metacpan.org/pod/JSON::Parse perlmodule安装指南:https://www.cpan.org/modules/INSTALL.html......
  • 【web_逆向11】JS处理RSA加密
    JS中RSA加密有两套逻辑1、网易的那种.->加密的结果每一次都是一样的;这种没有办法使用python来完成setMaxDigits()RSAKeyPair()encryptedString()2、某网校的rsa加密->加密的结果每一次都是不一样的;和python的Crypto是相通的.而用js完成超级简单.newJSEncrypts......
  • JSON
    什么是JSONJSON:JavaScriptObjectNotation(JavaScript对象表示法)JSON是存储和交换文本信息的语法,类似XML。JSON比XML更小、更快,更易解析。JSON易于人阅读和编写。JSON语法规则JSON语法是JavaScript对象表示语法的子集。数据在名称/值对中数据由逗号,......
  • Three.js中实现碰撞检测
    1.引言碰撞检测是三维场景中常见的需求,Three.js是常用的前端三维JavaScript库,本文就如何在Three.js中进行碰撞检测进行记述主要使用到的方法有:射线法Raycaster包围盒boundingbox物理引擎Cannon.js2.RaycasterRaycaster用于进行raycasting(光线投射),光线投射用于进行鼠......
  • 尚大数据技术之高频面试题9.0.5
     尚硅谷大数据技术之高频面试题 版本:V9.0.5目录第1章核心技术...........................................................................................................................101.1Linux&Shell.........................................................
  • windows上多版本nodejs安装和切换
    安装nvm下载地址:https://github.com/coreybutler/nvm-windows/releases下载exe安装即可。查看nvm版本: 查看已安装的nodejs版本: 安装Nodejs,比如安装版本v14.21.3执行命令:nvminstall14.21.3然后输入:nvmuse14.21.3指定当前使用的nodejs版本 ......
  • JS习题解析
    1、页面有一个id为button1的按钮,如何通过原生的js禁用?(IE考虑IE8.0以上版本)A、document.getElementById("button1").readonly=true;B、document.getElementById("button1").setAttribute('readonly','true');C、document.getElementById("button1&quo......