javaScript
js面试题
weixin_61914498
这个作者很懒,什么都没留下…
展开
-
foreach和map区别
foreach 不会将空数组的作为回调函数的参数 返回undefined。foreach 是将我们中每一个元素处理的元素作为回调函数的参数。都是有三个参数的 item index array。map是返回一个新的数组 是数组调用函数处理之后的值。foreach和map都是循环数组的。map 不会对空数组的进行检测。map不会改变原始数组。原创 2024-01-19 10:58:19 · 342 阅读 · 1 评论 -
JavaScript事件代理/事件冒泡
常见addEventlistener()为元素增加事件处理程序并通过第三个参数指定使用事件捕获还是事件冒泡 默认false。使用阻止事件冒泡只会影响当前事件的传播并不会影响其他监听的事件。事件代理:就是把原本的需要绑定在子元素的响应事件委托给我父元素让父元素担当事件监听的职务。事件捕获是指事件从触发元素开始从根元素逐级向下传播直到根元素。阻止事件冒泡是为了避免触发元素的事件处理程序。false 事件冒泡 true事件捕获。事件代理的原理是dom元素的事件冒泡。事件代理又称为事件委托。原创 2024-01-19 10:53:11 · 366 阅读 · 1 评论 -
Promise
主要来解决我们回调地狱问题promise 是一个构造函数调用promise 是用 new 关键字。原创 2024-01-18 21:27:51 · 477 阅读 · 0 评论 -
ES6都有哪些新特行
箭头函数没有自己this指向 但是箭头函数的this是它的父级的方法的this。执行失败 rejected。执行成功 fulfilled。初始状态 pending。在ES5数据类型中新增了symbol(唯一值)promise 主要是解决回调地狱的问题。let const 不存在变量提升。箭头函数没有arguments。promise 有三个状态。箭头函数不能使用new关键字。箭头函数不能为构造函数使用。原创 2024-01-18 21:10:03 · 345 阅读 · 0 评论 -
*事件循环
说到事件循环我们要说一下JavaScript中的单线程。原创 2024-01-19 10:35:24 · 333 阅读 · 1 评论 -
深拷贝和浅拷贝
深拷贝:比如想对某个数组 或 对象的值进行修改,但是又要保留原来数组 或 对象的值不被修改,此时就可以用深拷贝来创建一个新的数组 或 对象,从而达到操作(修改)新的数组 或 对象时,保留原来数组 或 对象。浅拷贝:比如想对某个数组 或 对象的值进行修改,但是又要想新数组和原数组中的数据同步,此时可以用浅拷贝,创建一个新的数组或者对象,对原数组的数据引用,从而达到操作新的数组或者新的对象,数据同步。深拷贝:从堆内存中开辟一个新的区域存放新的数组或者新的对象,是对象的子怼进行递归拷贝,前后对象相互不影响。原创 2024-01-22 10:40:44 · 976 阅读 · 0 评论 -
document.write和innerHTML的区别
innerHTML是js中操作dom元素的一种方式是在页面指定位置进行原生添加操作。innerHTML在使用的时候需要指定位置 比document.write更加灵活。document.write直接重绘整个页面 页面上输出你好。document.write 是js中document对象中的一个方法。使用方法 document.write("你好")document.write在使用的时候不需要指定位置。原创 2024-01-18 21:48:21 · 351 阅读 · 1 评论 -
最详细闭包
闭包是指有权访问别一个函数作用域中的换上,创建闭包的常见的方式讲师在一个函数内创建另一个函数,创建的函数可以访问到当前的局部变量。闭包会长住在内存中会增加我们内存的使用增加内存消耗容易导致内存泄漏。创建一个对象函数,让长期驻留。内部函数引用外部函数的参数。可以避免全家污染的变量。原创 2024-01-22 08:57:58 · 434 阅读 · 0 评论 -
object.is和==和===区别
1.严格相等和object.is 都一样区别是处理NaN和 0。1.相等自动会做隐式类型转换 严格相等不会做隐式类型转换。2.严格相等会对比数据类型 相等不会对比数据类型。两个值相不同数据类型的情况下 会先对数据类型进行一个隐私数据类型。比较运算符(==)也用于比较两个值是否相等。比较运算符(==)也用于比较两个值是否相等。严格相等(===)和object.is()不会在对比情况下不会两个值进行类型转换。严格相等(===)和相等(==)比较运算符(===)严格相等。比较运算符(==)相等。原创 2024-01-23 19:26:56 · 348 阅读 · 0 评论 -
详细内存泄漏
内存消耗:内存泄漏会让内存持续消耗 占用我们内存空间 如果有大量的内存泄漏会导致我们系统内存不足,导致我们无法运行。安全泄漏:内存泄漏可以会导致敏感数据泄漏,如果没有及时释放包含敏感信息的内存,这些。性能下降:内存泄漏会让我们持续占用内存,导致我们运行内存不足,导致性能下降。程序已经释放程序已经认为没用了 垃圾回收机制认为还在使用不能释放。自己理解:我们对程序已经失去了控制权。信息可能会被其他程序或者攻击者利用导致安全泄漏。原创 2024-01-22 09:30:38 · 340 阅读 · 0 评论 -
Null和undefined区别
这个object对象 是一个空对象 这个对象上没有任何方法和属性。undefined 代表是声明的一个对象 但是这个对象的值 是一个不存在的。因为 == 不能够区分null和undefined。null 代表是声明了一个对象 但是这个对象的值 是一个空值。函数内部要去判断值 要使用 ===typeof(a) 返回一个object对象。如果我们使用null作为函数的参数。null和undefined 都是一个数据类型。typeof(b) 返回undefined。原创 2024-01-18 21:36:46 · 882 阅读 · 1 评论 -
Window.onload和$document.ready区别
Window.onload是在等待页面i中的图片所有元素和资源都加载完成之后才能去执行也是等上面所说的时间节点一去进行加载。Window.onload不能同时编写多个 如果有多个Window.onload也是只会执行一个。document.ready是等dom加载完毕后就执行,不比等到整个页面加载完成的资源加载完毕。所以 document.ready比Window.onload执行速度更快。Window.onload和$document.ready都是加载资源。在我们一个网页中执行时间。原创 2024-01-19 09:45:46 · 356 阅读 · 1 评论 -
new操作符做了什么
4.将构造函数的this绑定在新的对象。2.将新的对象原型和构造函数进行连接。1.创建一个新的对象 object。3.将函数的this绑定新的对象。5.返回出去新的对象。原创 2024-01-23 19:47:55 · 316 阅读 · 0 评论 -
parseInt和pareFloat区别
parseInt和parseFloat都是转换成数字整型。只会识别到parstInt不认识前面的所有元素。parseFloat 只识别第一个小数点。parseFloat常见用方式。parsInt不是识别小数点。parseInt参数问题。parseInt常见用法。原创 2024-01-19 10:10:08 · 427 阅读 · 1 评论 -
ES6和ES5区别
js的组成 ECMAScript BOM DOM。ES6就是ES版本第6次修改 2015。ES5就是ES版本第5次修改 2009。说到ES6和ES5区别我们要说一下JS。js中ECMAScript就是es。ES6主要就是ES5不满足的要求。原创 2024-01-19 09:51:55 · 300 阅读 · 1 评论 -
什么是同源策略
同源是指协议 域名 端口号 必须保持一致。原创 2024-01-19 08:59:08 · 446 阅读 · 1 评论 -
箭头函数和普通函数有什么区别
call.apply,bind等方法不能改变箭头函数中this指向。箭头函数继承来的this直系那个永远不会改变。箭头函数没有自己的arguments。箭头函数不能作为构造函数使用。箭头函数比普通函数更加简洁。箭头函数没有自己的this。原创 2024-01-22 08:45:49 · 336 阅读 · 0 评论