会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
盼星星盼太阳
博客园
首页
新随笔
联系
管理
订阅
随笔分类 -
Javascript
上一页
1
2
3
下一页
vue项目中iframe嵌套其他项目,iframe父子页面传值
摘要:场景:vue后台管理系统项目嵌入其他项目 一、iframe引入其他项目地址 <iframe ref="newScreen" @load="sendMessage" frameborder="0" :src="url" width="100%" height="100%" id="ysOpenDevi
阅读全文
posted @
2021-09-22 18:26
盼星星盼太阳
阅读(4404)
评论(1)
推荐(0)
异步加载defer,async
摘要:话不多说,上图 推荐的应用场景 defer 1. defer只适用于外联脚本,如果script标签没有指定src属性,只是内联脚本,不要使用defer 2. 如果有多个声明了defer的脚本,一般会按顺序下载和执行 3. defer脚本一般会在DOMContentLoaded事件之前执行 如果你的脚
阅读全文
posted @
2021-09-07 17:37
盼星星盼太阳
阅读(79)
评论(0)
推荐(0)
手写call apply bind 函数系列
摘要:手写call Function.prototype.myCall = function(context, ...args) { // 解构context 与arguments if(typeof this !== 'function') { // this 必须是函数 throw new TypeE
阅读全文
posted @
2021-08-06 15:35
盼星星盼太阳
阅读(28)
评论(0)
推荐(0)
JS实现一个bind
摘要:第一层 - 绑定在原型上的方法 由于 function xxx 的原型链 指向的是 Function.prototype , 因此我们在调用 xxx.bind 的时候,调用的是 Function.prototype 上的方法。 Function.prototype._bind = function(
阅读全文
posted @
2021-08-06 15:03
盼星星盼太阳
阅读(112)
评论(0)
推荐(0)
js之堆、栈内存
摘要:一、作用域和变量 全局作用域:当浏览器打开页面时,浏览器会给当前JS代码提供一个可以执行的运行环境,那么这个环境就是全局作用域。 一个页面只对应一个全局作用域;在当前的全局作用域,浏览器给当前作用域提供了全局的对象叫window; JS是单线程的,每次只能执行一行代码。 在JS中只要遇到报错,代码立
阅读全文
posted @
2021-06-28 17:44
盼星星盼太阳
阅读(141)
评论(0)
推荐(0)
监听页面刷新和关闭事件
摘要:场景:在离开页面的时候,需要弹出提示框,让用户确定是否真的要关闭网页。如果用户真的需要关闭网页,则让浏览器向后台提交信息。 浏览器页面事件基础 页面加载时只执行 onload 事件。 页面关闭时,先 onbeforeunload 事件,再 onunload 事件。 页面刷新时先执行 onbefore
阅读全文
posted @
2021-06-22 14:49
盼星星盼太阳
阅读(2916)
评论(0)
推荐(0)
详解JS中的prototype、__proto__与constructor(图解)
摘要:前言 说明一点,__proto__属性的两边是各由两个下划线构成,实际上,该属性在ES标准定义中的名字应该是[[Prototype]],具体实现是由浏览器代理自己实现,谷歌浏览器的实现就是将[[Prototype]]命名为__proto__,大家清楚这个标准定义与具体实现的区别即可(名字有所差异,功
阅读全文
posted @
2021-04-19 14:43
盼星星盼太阳
阅读(277)
评论(0)
推荐(1)
浏览器与Node的Event Loop详解
摘要:Event Loop是什么 event loop是一个执行模型,在不同的地方有不同的实现。浏览器和NodeJS基于不同的技术实现了各自的Event Loop。 浏览器的Event Loop是在html5的规范中明确定义。 NodeJS的Event Loop是基于libuv实现的。可以参考Node的官
阅读全文
posted @
2021-04-13 17:39
盼星星盼太阳
阅读(375)
评论(0)
推荐(1)
前端异常分类与处理方式
摘要:一、需要处理哪些异常? 对于前端来说,我们可做的异常捕获还真不少。总结一下,大概如下: JS 语法错误、代码异常 AJAX 请求异常 静态资源加载异常 Promise 异常 Iframe 异常 跨域 Script error 崩溃和卡顿 二、Try-Catch 的误区 try-catch 只能捕获到
阅读全文
posted @
2021-04-02 17:05
盼星星盼太阳
阅读(616)
评论(0)
推荐(0)
JS垃圾回收机制浅析
摘要:为什么要有垃圾回收 在C语言和C++语言中,我们如果想要开辟一块堆内存的话,需要先计算需要内存的大小,然后自己通过malloc函数去手动分配,在用完之后,还要时刻记得用free函数去清理释放,否则这块内存就会被永久占用,造成内存泄露。 但是我们在写JavaScript的时候,却没有这个过程,因为人家
阅读全文
posted @
2021-03-11 13:57
盼星星盼太阳
阅读(186)
评论(0)
推荐(0)
详解执行上下文,变量对象与活动对象,作用域与作用域链,闭包
摘要:一、执行上下文 执行上下文(Execution Context)是ECMAScript规范中用来描述 JavaScript 代码执行的抽象概念,规定了当前代码执行的环境(当前执行代码片段中的变量、函数、作用域链等),所有执行上下文又叫执行环境。 全局上下文(整个js文件被加载执行建立的上下文,必有且
阅读全文
posted @
2021-03-11 11:56
盼星星盼太阳
阅读(494)
评论(0)
推荐(1)
JS常用函数与代码片段
摘要:一、前端JS生成指定长度ID 随机数转化字符串,拼接时间戳 genID(length){ // 随机字符串+时间戳 var str = ''; for ( ; str.length < length; str += Math.random().toString(36).substr(2) ); re
阅读全文
posted @
2021-01-28 17:01
盼星星盼太阳
阅读(127)
评论(0)
推荐(0)
详解数组reduce方法以及用法
摘要:一、语法 arr.reduce(callback,[initialValue]) 这个方法接收两个参数: 1.要执行的函数 要执行的函数中也可传入参数,分别为 prev:上次调用函数的返回值 cur:当前元素 index:当前元素索引 arr:被遍历的数组 2.函数迭代的初始值 例子: eg1: v
阅读全文
posted @
2021-01-21 17:24
盼星星盼太阳
阅读(4487)
评论(0)
推荐(1)
JS数组扁平化函数与数组去重
摘要:数组扁平化(又称数组降维) MDN:flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回; const test = ["a", ["b", "c"], ["d", ["e", ["f"]], "g"]] // flat不传参数时,默认扁平化
阅读全文
posted @
2021-01-21 14:40
盼星星盼太阳
阅读(256)
评论(0)
推荐(0)
JS数据类型与判断方法
摘要:一、数据类型 五种简单数据类型(值类型)包括:String、Number、Boolean、undefined、Null一种复杂数据类型(引用类型):Obeject(包括 function、Array、Date) ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值
阅读全文
posted @
2020-12-11 14:11
盼星星盼太阳
阅读(212)
评论(0)
推荐(0)
Promise的逻辑方法Promise.all, Promise.race, Promise.allSettled, Promise.any
摘要:Promise 对象有几个组合方法,可以将多个承诺合并成一个进行处理,分别是 Promise.all, Promise.race, Promise.allSettled, Promise.any Promise.all(values) 其中参数 values 是一个可迭代对象,比如数组 在后文中使用
阅读全文
posted @
2020-12-09 15:29
盼星星盼太阳
阅读(755)
评论(0)
推荐(0)
JS数组sort方法与随机排序、中文排序
摘要:一、JS数组sort方法 1.基本用法: // 升序 return a - b; // 倒序 return b - a; var arr = [2,34,242,12,3,2,23,3];// 定义一个数组 arr.sort(function (a,b) { // a -->代表每一次执行匿名函时候
阅读全文
posted @
2020-12-03 15:52
盼星星盼太阳
阅读(1192)
评论(0)
推荐(0)
JS一维数组转化为二维数组
摘要:转化二维数组实现轮播图 const arrHandle = (arr, targetNums = 3) => { //原始数组长度 const _length = arr.length; //计算需要循环次数 const _splitNums = _length % targetNums 0 ? _
阅读全文
posted @
2020-10-15 18:46
盼星星盼太阳
阅读(436)
评论(0)
推荐(0)
JS时间对象常用函数与日期转换
摘要:时间对象常用函数 // 获取指定年份最后一天 function getLastDay(year, month) { var new_year = year; //取当前的年份 var new_month = month++; //取下一个月的第一天,方便计算(最后一天不固定) if (month >
阅读全文
posted @
2020-08-01 15:50
盼星星盼太阳
阅读(228)
评论(0)
推荐(0)
JS时间对象使用之按月与日期划分时间段
摘要:场景:传入三个参数2020-02-02,2020-08-01,31,开始日期,结束日期,分隔日期 要求:从开始日期到结束日期,按每个月31号划分成日期段(不足的自动按照当月最后一天) dataMonth(value1, value2, day) { var getDate = function (s
阅读全文
posted @
2020-08-01 15:35
盼星星盼太阳
阅读(1448)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告