JS
乐橙Web
不断上进,积极进取;努力赚钱,做好家中顶梁柱!
展开
-
自定义事件
var myEvent = new CustomEvent("userLogin", { detail: { username: "davidwalsh" }}); // 触发它!document.dispatchEvent(myEvent);<br>document.addEventListener("userLogin", function(e) { console.info("Event is: ", e); console.inf原创 2021-04-11 22:50:44 · 137 阅读 · 0 评论 -
webpack中normalModuleReplacementPlugin
就一个替换问题详细传送门原创 2020-10-31 13:13:22 · 993 阅读 · 0 评论 -
webworker和darkmode笔记
整体思维导图原创 2020-09-13 20:23:05 · 212 阅读 · 0 评论 -
vue中使用TypeScript
方式一vue.extend方式二vue-class-componentVue中使用jsx和 React中使用jsx区别vue script部分ts化都不太理想,vue template充斥着文本形式的变量,运行时才能绑定,静态类型根本无效,如果强加了一个类型,不使用template语法,反而失去了其快速迭代开发的特性,因此其目标和react并不完全一致。不过,除了vue组件,项目之中其他的api,util等文件ts化倒是仍然有一些帮助,而且不会带来较大的复合,vue组件中调用这个ts文件impor原创 2020-09-13 20:17:05 · 349 阅读 · 0 评论 -
详解package.json文件
JS线程之所以js中有事件循环,原因就是因为js是单线程的原因进程与线程区别?JS单线程带来的好处?一个进程中可以有多个线程,比如渲染线程、JS 引擎线程、HTTP 请求线程等等。当你发起一个请求时,其实就是创建了一个线程,当请求结束后,该线程可能就会被销毁。在 JS 运行的时候可能会阻止 UI 渲染,这说明了两个线程是互斥的。这其中的原因是因为 JS 可以修改 DOM,如果在 JS 执行的时候 UI 线程还在工作,就可能导致不能安全的渲染 UI。这其实也是一个单线程的好处,得益于 JS 是单线程运原创 2020-09-13 15:15:26 · 3498 阅读 · 0 评论 -
body传参?parameter传参?Request Payload?Query String Parameter?
今天,后端来一个接口,告诉我“要用post请求,parameter形式传参”。over。初级选手一般听到用post请求,但素用parameter传参一定很懵圈o((⊙﹏⊙))o。那么请先移步看这篇文章,get和post请求其实并没本质区别,他们都是tcp连接,post请求可以将参数放在body中,也可以是parameter形式,both fine!但是对于post请求来说,后端所谓的“par...转载 2019-03-14 22:11:40 · 5516 阅读 · 0 评论 -
HTTP中204和205的含义
在看elementUI的demo时,发现返回的status是先返回一个204后返回一个201,特此百度了解来做笔记。201表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201203203:请求的代理服务器修改了源服务器返回的 200 中的内容,我们通过代理服务器向服务器 A 请求用户信息,服务器 A 正常响应,但代理服务器命中了缓存并返回了自己的缓...原创 2019-03-31 22:17:27 · 8457 阅读 · 0 评论 -
iframe知识小结之老项目中嵌套Vue单页应用实践
最近公司因结构变动,将重构的一些新项目放到来老系统中,用到了iframe通信知识,故总结此篇。同域名下父子页面通信父页面<html><head> <script type="text/javascript"> function say() { alert("parent.html"); ...原创 2019-04-01 23:43:40 · 3826 阅读 · 3 评论 -
JS解除事件引用
之前看红宝书,第十三章,解除事件引用,代码是这样子的,有点不太明白。 // 解除引用失败 var btn = document.getElementById('myBtn') btn.addEventListener( 'click', function() { alert(this.id) }, ...原创 2019-04-15 13:44:02 · 854 阅读 · 0 评论 -
JS之replaceState与pushState的妙用
场景text前几天做web站的账单重构,原有的支付路径为www.xxx.com/a/b/c,进入我的账单之后,即www.xxx.com/a后台经过auth2.0认证后,会重定向到www.xxx.com/yy/a/,并且这个yy是一个变量值,微信支付只能设置5个支付路径,如果这样走到支付页面去支付的时候,会出现支付页面路径为注册,所以错误。解决办法 非本场景解决办法:修改支付路径 ...原创 2019-04-24 23:30:00 · 5805 阅读 · 0 评论 -
19面试总结
HTML&CSS问题JavaScript问题框架问题兼容问题其他杂项手写插件类HTML&CSS问题常见的布局有哪些,自适应布局你做过那些?一:单列布局二:双列布局三:三列布局自适应布局:一:bootstrrap----->grid布局二:媒体查询三:flex自适应布局flex垂直居中的属性有哪些?flex-wrap: nowrap:f...原创 2019-09-26 19:04:56 · 384 阅读 · 1 评论 -
浅谈Vue.use
先举个?我们先来看一个简单的事例首先我使用官方脚手架新建一个项目vue init webpack vue-demo然后我创建两个文件index.js plugins.js.我将这两个文件放置在src/classes/vue-use目录下接下来对这两个文件进行编写// 文件: src/classes/vue-use/plugins.jsconst Plugin1 = { ...转载 2018-10-29 13:29:55 · 1428 阅读 · 0 评论 -
JS中bind方法,apply方法,call方法的实现
先分析下3个方法的作用改变this的指向。传入参数。call apply返回函数结果, bind 返回新函数我们先从call开始 改变this指向首先我们知道,对象上的方法,在调用时,this是指向对象的。ler 0 = { fn:function(){ console.log(this); }}知道了这点,我们就可以...转载 2018-08-02 16:16:58 · 1045 阅读 · 0 评论 -
IOS和Android对JS中Date对象的差异
new Date();IOS使用 new Date(“2018/05/31 08:00”); //xxxx/xx/xx 必须是这种形式Andorid使用new Date(“2018-05-31” 08:00); // xxxx/xx/xx | xxxx/x/x 可以是这两种形式原创 2018-08-14 13:21:02 · 654 阅读 · 0 评论 -
了解函数式编程
了解函数式编程 前几天看ES6标准入门时,第八章函数。看到了函数式编程,和函数柯里化字眼,想着在以前也没有太多的了解,于是就花了点时间去研究学习了一下,有不对的地方希望大家多多指点。 百度上是这样的解释的“函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作原创 2017-08-22 21:32:26 · 303 阅读 · 0 评论 -
详解JS中的sort()方法
前几天在写逻辑的时候,又遇到了数组对象的排序问题,因此今天闲着无事就全面的总结一下sort()函数的用法。下面我将从以下方面来进行介绍。 首先在默认情况下,sort()方法按升序排列数组项---即最小的值位于最勤勉,最大的值排在最后面。为了实现排序,sort()方法会调用每个数组想的toString()转型方法,然后比较得到的字符串,即使数组中的每一项都是数值,sort(原创 2017-09-21 21:04:23 · 1283 阅读 · 0 评论 -
jsonp封装浅析
jsonp封装浅析 前几天写项目,在获取数据时候,不想再去手写一遍jsonp,于是就上git上找了找,安装了下来,还算好用吧。今天抽出时间,看着源码也不长,就把源码给分析分析,毕竟分析好的源码是进阶的必要。先贴上官方源码/** * Module dependencies */var debug = require('debug')('jsonp');/** * Module exports原创 2017-11-14 19:48:58 · 1208 阅读 · 0 评论 -
javascript中slice方法源码解析
这几天在写东西时用了好几次slice方法,其中也用到Array.proto.slice.call(arguments)将数组对象属性转变成数组。Array.protitype.slice()源码源码git传送门587行,slice源码如下: // 这个方法可以用作于真正的数据和类数组对象, 如标tagName(标签)、childNodes // 这个方法不支持...原创 2018-02-09 18:20:59 · 2812 阅读 · 0 评论 -
深入理解javaScript中数组对象的concat方法
根据数组的特性可构造出其concat函数原型如下:Array.prototype.concat = function(){ var arr = this.slice(0); arguments.forEach(fnnction(item){ if(Array.isArray(item)){ item.forEach(function(item原创 2018-03-16 11:14:31 · 7350 阅读 · 0 评论 -
javascript中split源码浅析
了解底层才能更好的编程初始代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=原创 2018-04-28 19:23:22 · 1715 阅读 · 4 评论 -
数组reduce方法的高级技巧
因为用for循环被老大鄙视之后,这几天都在偷偷摸摸的研究数组的那几个迭代方法。使用下来,感觉确实妙用无穷,仿佛自己的逼格在无形中变得高大了一点点,哈哈,上一篇文章的简单介绍确实有点糙,因此决定重新一些总结文章。这篇文章就是专门总结reduce方法的,这个方法大有可研究的地方,值得大家get它并去同手实践一下。上一篇文章我认为reduce是一个聚合或者减少方法,它可以将数组中的每一项通过叠加...转载 2018-05-29 22:52:13 · 612 阅读 · 0 评论 -
chrome 设置安卓微信和IOS微信UA方法
由于微信方面限制,不能下载第三方的任何文件,所以得提示用户使用浏览器打开,这里不再赘述使用浏览打开方法。 最近公司的需求是在企业公众号中添加一个微信下载app的选项,然后跳到相应的页面,点击下载按钮候,判断若是微信就弹出一个层,提示用浏览器打开。 个人觉得其实里面关键是调试的问题,在这里我们使用在chrome中更改UA的方法来进行调试1.chorme调试–Edit 2...原创 2018-06-10 13:39:36 · 13840 阅读 · 2 评论 -
content-type疑惑解答也没解答
setRequestHeader请求头必须写在send前面设置数据格式发送json格式数据xhr.setRequestHeader("Content-type","application/json; charset=utf-8");发送表单数据xhr.setRequestHeader("Content-type", "application/x-www-form-url...原创 2018-06-10 18:56:24 · 392 阅读 · 0 评论 -
原生JS封装实现金额逗号效果
代码如下,注释已经写的很详细,不在分析&amp;amp;lt;!DOCTYPE html&amp;amp;gt;&amp;amp;lt;html lang=&amp;quot;en&amp;quot;&amp;amp;gt;&amp;amp;lt;head&amp;amp;gt; &amp;amp;lt;meta charset=&am原创 2018-06-25 22:04:28 · 833 阅读 · 0 评论 -
身边的面试题目
JS问题2018-07-16 请问以下函数会输出什么&amp;gt;//一:主要考查了闭包。二:函数在调用中this的指向。 三:块级作用域。 var num = 20; var obj = { num :30, fn:(function(num){ this.num *= 3; num += 15; var num = 45...原创 2018-07-16 21:56:36 · 398 阅读 · 0 评论 -
支持IE8及以下的,原生JS数组迭代的五种方法
IE真是让前端开发者头疼的问题,在解决数组的迭代的过程中,IE8及以下并不能很好的支持。于是去网上搜了搜数组迭代中的every方法,在一个博客大V中搬过来后,发现仍会报错,又比对了下网上的代码,发现我复制的并没有错(QAQ 也不试试就直接用放到博客,这种态度蛮无语的)。于是又看着拿过老的代码,进行了修改和扩展。 ① 数组中的every方法 if (!原创 2017-08-08 09:59:40 · 2279 阅读 · 0 评论