JavaScript
文章平均质量分 74
sunwan19941023
这个作者很懒,什么都没留下…
展开
-
js中异步加载属性defer和asnyc的区别
基础知识script标签需要放在body最后,这是开发中一直坚持的习惯,为什么这样做呢?因为js的加载和执行会阻塞后续html的解析和渲染。如果一个script标签放在html中间,当执行到这一句时,会停止对html的解析和渲染,转而进行js的加载和执行,结束以后,再继续后面的内容。defer和asnyc1.defer这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。因此,在<script>元素中设置defer属性,相当于告诉原创 2021-04-12 20:05:19 · 175 阅读 · 0 评论 -
Js中Map和WeakMap的区别
(1)Map map本质上就是键值对的集合,但是普通的Object中的键值对中的键只能是字符串。而ES6提供的Map数据结构类似于对象,但是它的键不限制范围,可以是任意 类型,是一种更加完善的Hash结构。 如果Map的键是一个原始数据类型,只要两个键严格相同,就视为是同一个键。 实际上Map是一个数组,它的每一个数据也都是一个数组,其形式如下:1 const map = [2 ["name","张三"],3 ["age",18],4 ]Map数据结构有以下操作方法:size: .原创 2021-04-12 19:53:04 · 443 阅读 · 0 评论 -
jquery和bootstrap的介绍与区别
Bootstrap简单介绍 Bootstrap是基于HTML5和CSS3开发的,它在jQuery的基础上进行了更为个性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。 基本结构:Bootstrap 提供了一个带有网格系统、链接样式、背景的基本结构。这将在Bootstrap 基本结构部分详细讲解。 CSS:Bootstrap 自带以下特性:全局的 CSS设置、定义基本的 HTML 元素样式、可扩展的 class,以及一个先进的网格系统。这将在Bootstrap CS.原创 2020-11-29 15:10:32 · 331 阅读 · 0 评论 -
DOM事件委托机制
事件委托是什么?事件委托就是利用冒泡机制,将事件添加在目标元素的父元素或祖辈元素上,触发执行效果。也就是就是监听目标元素的祖先。代码示例:<body> <div id="div"> <button id="btn">点击</button> </div> <script> window.onload = function () { let .原创 2020-11-25 21:11:08 · 69 阅读 · 0 评论 -
手写Promise/Promise.all/Promise.race
前言继续总结过程中学到的新知识,这是第3部分。一、设置上下两部分,上方展示代码,下方跟随展示效果1 设置HTML结构<link rel="stylesheet" href="./css/default.css"> /*默认框架样式*/<style id="styleTag"></style> /*引入跟随展示效果 样式*/......<div class="code-wrapper"> <pre id="code"&原创 2020-09-28 09:08:16 · 132 阅读 · 0 评论 -
JS中跨域产生的原因及解决方案
call、apply、bind的作用是改变函数运行时this的指向。callcall()的第一个参数为this绑定的对象,后面传入一串参数列表。当第一参数为null或undefined时,默认指向window对象。applyapply()和call()类似,唯一的不同点在于第二个参数传入一个参数数组。当第一参数为null或undefined时,默认指向window对象。bindbind()和call()类似,不同点一bind()不会立即执行,而是返回一个改变了this后的函数原创 2020-09-16 23:09:17 · 428 阅读 · 0 评论 -
几种垃圾回收算法机制
垃圾回收GC的全拼是 Garbage Collection 其在维基百科的定义是: 在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是一种自动的内存管理机制。当一个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收(garbage collection)垃圾回收算法有多种,先看看几个评价垃圾回收算法性能的几个方面,再具体看看各种算法的优缺点吞吐量 throughput 最大暂停时间 堆使用效率 访问的局部性一、 标记-清除转载 2020-11-08 21:34:17 · 75 阅读 · 0 评论 -
Webpack基础与进阶
目标一:用webpack编译JS首先下载webpack然后由于是本地安装,所以需要指定在哪里去找webpack的执行程序 ./node_modules/.bin/webpack --version还有一种简易的方法,就是npx webpacknpx 会自动帮我们找webpack在本地的哪个地方当我们运行之后,会发现多了一个dist文件,里面还有main.js 这就是转译index.js的结果转译JS初体验在index.js里写一些浏览器里不能...原创 2020-09-05 23:16:13 · 98 阅读 · 0 评论 -
异步与回调的异同点
一、什么是同步和异步?同步:直接能拿到结果 异步:不能直接拿到结果在JS中,有的函数不能立刻拿到结果,需要等一会才能拿到结果,比如发送HTTP请求,等待响应需要一段时间。如果 JS 不能直接拿到一个函数的结果,可以先去执行别的代码,等结果到了再取结果,这就是异步异步的好处是可以把用来等待的时间拿去做别的事情怎么判断一个函数的结果是同步的还是异步的呢?如果一个函数的返回值在setTimeout, AJAX, AddEventListener 这三个东西内部,那么这个函数就是异步函.原创 2020-09-03 20:40:47 · 643 阅读 · 0 评论 -
JS中深浅拷贝的区别
深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,使用深拷贝的情况下,释放内存的时候不会因为出现浅..原创 2020-08-23 17:17:16 · 361 阅读 · 0 评论