
javaScript面试题汇总
文章平均质量分 85
今天你有学习吗
这个作者很懒,什么都没留下…
展开
-
XSS攻击与CSRF攻击
XSS(Cross Site Scripting,跨站脚本攻击),是指攻击者利用站点的漏洞,在表单提交时,在表单内容中加入一些恶意脚本,当其他正常用户浏览页面,而页面中刚好出现攻击者的恶意脚本时,脚本被执行,从而使得页面遭到破坏,或者用户信息被窃取。原创 2024-07-25 21:43:39 · 327 阅读 · 0 评论 -
关于promise的一些例题(运行步骤详细说明)
【代码】关于promise的一些例题(运行步骤详细说明)原创 2024-07-25 21:08:20 · 485 阅读 · 0 评论 -
js知识点之正则表达式
一个或一段规则之后,可以紧跟一个量词,表示前面的规则出现的次数。若多个规则是一个或者的关系,使用。直接书写一个普通字符。原创 2024-06-04 20:34:19 · 225 阅读 · 0 评论 -
js知识点之深浅拷贝
首先,我们需要明确深拷贝和浅拷贝的概念。:只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝叫做浅拷贝(浅复制)。浅拷贝只复制指向某个对象的指针(引用地址),而不复制对象本身,新旧对象还是共享同一块内存。:在堆中重新分配内存,并且把源对象所有属性都进行新建拷贝,以保证深拷贝的对象的引用图不包含任何原有对象或对象图上的任何对象,拷贝后的对象与原来的对象是完全隔离,互不影响。原创 2024-06-04 19:27:32 · 951 阅读 · 0 评论 -
js知识点之函数柯里化
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凯尔·加里命名的,尽管它是和戈特洛布·弗雷格发明的。在直觉上,柯里化声称如果你固定某些参数,你将得到接受余下参数的一个函数。我们姑且叫它返回函数,在调用返回函数的时候,它将判断当前的参数和之前被柯里化函数固定的参数拼起来之后,是否达到了原本函数的参数个数。原创 2024-06-04 17:28:14 · 738 阅读 · 0 评论 -
js知识点之函数防抖和节流
JavaScript中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合理,否则一般不会遇到跟性能相关的问题。但是在一些少数情况下,函数的触发不是由用户直接控制的。在这些场景下,函数有可能被非常频繁地调用,而造成大的性能问题。解决性能问题的处理办法就有和。下面是函数被频繁调用的常见的几个场景:mousemove事件:如果要实现一个拖拽功能,需要一路监听mousemove事件,在回调中获取元素当前位置,然后重置DOM的位置来进行样式改变。原创 2024-06-03 19:31:31 · 800 阅读 · 0 评论 -
js知识点之严格模式
严格模式是从ES5开始新增的一种方式,是采用具有限制性JavaScript变体的一种方式,从而使代码隐式地脱离“马虎模式/稀松模式/懒散模式“(sloppy)模式。JavascriptJavascript“严格模式”体现了Javascript更合理、更安全、更严谨的发展方向,支持严格模式的浏览器有:。在“严格模式下”,同样的代码,可能会有不一样的运行结果。一些在“正常模式”下可以运行的语句,在“严格模式”下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript。原创 2024-06-03 18:52:32 · 821 阅读 · 0 评论 -
js知识点之浮点数精度问题
在JavaScript中整数和浮点数都属于number数据类型,所有数字都是以64位浮点数形式储存,即便整数也是如此。所以我们在打印1.00这样的浮点数的结果是1而非1.00。在一些特殊的数值表示中,例如金额,这样看上去有点别扭,但是至少值是正确了。:进行浮点值运算结果的判断:将小数乘以10的n次方取整比如将钱币的单位,从元转化成分,经常写出来的是:四舍五入保留n位小数例如我们会写出在上面的例子中,我们得出的结果是1.33,而不是预期结果1.34。原创 2024-06-03 18:21:05 · 757 阅读 · 0 评论 -
js知识点之 class 和构造函数区别和new关键字到底做了什么
1. 创建了一个新的对象,2. 将新对象的\_\_proto\_\_函数指向构造函数的prototype,这个新对象就可以访问构造函数原型上的属性3. 将this指向改变,指向新的对象,这样就可以访问构造函数内部的属性4. 返回新的对象原创 2024-05-30 15:32:58 · 1008 阅读 · 0 评论 -
js知识点之递归
递归调用是一种特殊的调用形式,指的是方法自己调用自己的形式。method会先输出然后再调用自己,导致无限递归(当然这一般是我们需要避免的状况。下面是递归的一个示例,求某个数的阶乘。使用递归时需要注意如下事项:递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以用循环的方式来实现。使用递归时需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当一个函数调用,栈就会加一层,每当函数返回,栈就会减一层。原创 2024-05-30 11:10:12 · 293 阅读 · 0 评论 -
js知识点之阻止事件默认行为
所谓默认行为,一般是指HTML元素所自带的行为。例如点击一个a在上面的代码中,设置了a元素的href属性指向百度,当用户点击该a元素时,就会跳转至百度。上面的代码中我们书写了一个form元素,该元素有一个action属性,指的是表单内容要提交的地址。而当用户点击表单元素中嵌套的提交按钮时,就会进行一个默认的提交操作。这些,就是HTML元素中的默认行为。但是有些时候,我们是不需要这些默认行为的,例如,用户在填写了一个表单后,提交信息时我们采用ajax。原创 2024-05-30 11:09:39 · 1446 阅读 · 0 评论 -
js知识点之DOM事件的传播机制
*IE* 的事件流叫做事件冒泡(*event bubbling*),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。原创 2024-05-30 10:39:37 · 636 阅读 · 0 评论 -
js知识点之DOM事件的注册和移除
DOMDOM。原创 2024-05-29 20:41:10 · 983 阅读 · 0 评论 -
js知识点之闭包
闭包,是JavaScript中一个非常重要的知识点,也是我们前端面试中较高几率被问到的知识点之一。打开《JavaScript高级程序设计》和《JavaScript权威指南》,会发现里面针对闭包的解释各执一词,在网络上搜索关于闭包的内容,也发现众说纷纭,这就导致了这个知识点本身显得有点神秘,甚至还有一点玄幻。那么这个知识点真的有那么深奥么?非也!其实要理解JavaScript中的闭包,非常容易,但是在此之前你需要先知道以下两个知识点:JavaScriptJavaScript。原创 2024-05-29 20:17:54 · 1235 阅读 · 0 评论 -
js知识点之垃圾回收与内存泄漏
程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。也就是说,不再用到的内存,如果没有及时释放,就叫做内存泄漏(JavaScript。原创 2024-05-29 19:48:29 · 709 阅读 · 0 评论 -
js知识点总结之this指向
this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。关于this的指向,有一种广为流传的说法就是“谁调用它,this就指向谁”。这样的说法没有太大的问题,但是并不是太全面。总结起来,this的指向规律有如下几条:在函数体中,非显式或隐式地简单调用函数时,在严格模式下,函数内的this。原创 2024-05-29 19:36:44 · 2297 阅读 · 0 评论 -
js知识点汇总之作用域和作用域链
这里有必要说一下变量对象。当处于执行上下文的建立阶段时,我们可以将整个上下文环境看作是一个对象。原创 2024-05-29 17:10:51 · 711 阅读 · 0 评论 -
js知识点汇总之执行栈和执行上下文
这里有必要说一下变量对象。当处于执行上下文的建立阶段时,我们可以将整个上下文环境看作是一个对象。原创 2024-05-24 09:24:36 · 487 阅读 · 0 评论 -
js知识点汇总之数据类型转换
JavaScript是一种动态类型语言,变量没有类型限制,可以随时赋予任意值。上面代码中,变量x到底是数值还是字符串,取决于另一个变量y的值。y为true时,x是一个数值;y为false时,x是一个字符串。这意味着,x的类型没法在编译阶段就知道,必须等到运行时才能知道。虽然变量的数据类型是不确定的,但是各种运算符对数据类型是有要求的。如果运算符发现,运算子的类型与预期不符,就会自动转换类型。比如,减法运算符预期左右两侧的运算子应该是数值,如果不是,就会自动将它们转为数值。原创 2024-05-24 08:51:41 · 387 阅读 · 0 评论 -
js知识汇总之包装类型
基本数据类型和引用类型这两个类型其中一个很明显的区别是,引用类型有自己内置的方法,也可以自定义其他方法用来操作数据,而基本数据类型不能像引用类型那样有自己的内置方法对数据进行更多的操作。对于引用类型的数据,在执行流离开当前作用域之前都会保存在内存中,而对于自动创建的基本包装类型的对象,只存在于一行代码的执行瞬间,执行完毕就会立即被销毁。基本包装类型的对象和引用类型的对象最大的一个区别是,对象的生存期不同,导致的一个结果就是,基本包装类型无法自定义自己的方法。提供了对应的特殊引用类型(包装类型)原创 2024-05-23 19:46:01 · 444 阅读 · 0 评论 -
js知识点汇总之js的数据类型(值和引用)
面试题:JS 中的数据类型有哪些?基本类型和引用类型的区别是什么?原创 2024-05-23 17:39:31 · 732 阅读 · 0 评论 -
js知识点汇总之let const 和 var的区别
声明的变量会先在作用域中被创建出来,但因此时还未进行词法绑定,所以是不能被访问的,如果访问就会抛出错误。因此,在这运行流程进入作用域创建变量,到变量可以被访问之间的这一段时间,就称之为暂时死区。其实上面不存在变量提升的例子中,其实也是暂时性死区,因为它有暂时性死区的概念,所以它压根就不存在变量提升了。实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。中的作用域有:全局作用域、函数作用域,命令声明变量之前,该变量都是不可用的。,导致绑定这个块级作用域,原创 2024-05-23 16:08:37 · 1677 阅读 · 0 评论