![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
shaobohong
这个作者很懒,什么都没留下…
展开
-
vue移动端无法使用string.replaceAll,报错显示空白
开发vue时,使用了replaceAll函数,在pc端调试没问题但是打包部署到移动端端测试时,发现部分页面显示空白,控制台只显示Error{}经过排查是replaceAll函数报错了,替换成replace解决原创 2021-11-02 11:22:23 · 1458 阅读 · 0 评论 -
React中使用JS导入导出Excel
导入参考文章需引入xlsx.js库<Upload name='file' beforeUpload={(file) => { const f = file; const reader = new FileReader(); reader.onload = (e) => { const datas = e.target.result; const workbook = XLSX.read(datas, {type: 'bi原创 2021-07-23 14:26:45 · 326 阅读 · 0 评论 -
消息队列和作业队列
消息队列当调用 setTimeout() 时,浏览器或 Node.js 会启动定时器。 当定时器到期时(在此示例中会立即到期,因为将超时值设为 0),则回调函数会被放入“消息队列”中。在消息队列中,用户触发的事件(如单击或键盘事件、或获取响应)也会在此排队,然后代码才有机会对其作出反应。 类似onLoad这样的 DOM 事件也如此。事件循环会赋予调用堆栈优先级,它首先处理在调用堆栈中找到的所有东西,一旦其中没有任何东西,便开始处理消息队列中的东西。我们不必等待诸如setTimeout、...转载 2021-01-15 17:11:43 · 475 阅读 · 0 评论 -
如何修改 node_modules 里的文件
来自:掘金,作者沉末_链接:https://juejin.im/post/5ec381215188256d776342cd前言有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入。 ...转载 2020-07-31 14:08:48 · 1130 阅读 · 0 评论 -
ES6 对象扩展 链判断运算符 和 Null判断运算符
链判断运算符【?.】如果要读取对象的某个属性,往往需要判断一下该对象是否存在。比如,要读取message.body.user.firstName,安全的写法是写成下面这样。const firstName = (message && message.body && message.body.user && message.body.user.firstName) || 'default';这样的层层判断非常麻烦,因此ES2020引..转载 2020-06-10 19:01:50 · 879 阅读 · 0 评论 -
KindEditor在移动端默认显示源码模式
在源码 4891 行,有个判断是否为移动端的if语句,将这个语句注释掉即可,但是不知道会造成什么后果原创 2020-06-09 17:06:07 · 593 阅读 · 0 评论 -
ES6 Set和Map数据结构
Set类似于数组,但是没有重复值基础用法通过new Set()构造一个set实例,通过add方法向set添加元素var set = new Set([1,2,3,4,4,4]);set.add(5);set.add(6);set.add('6');console.dir(set);上面代码运行结果如下:注意数字6和字符串6去除数组重复值利用set可以用来去除数组中重复值var a = [1,2,3,4,5,1,2];var b = [...new S...原创 2020-06-08 19:28:42 · 123 阅读 · 0 评论 -
ES6 Proxy和Object.defineProperty
Object.defindPropertyProxynew Proxy(target, handler);targer 要拦截的对象handler 拦截行为对象var obj = new Proxy({}, { get: function(){ console.log('always return 35'); return '35'; }})obj.name;// 35obj.age;// 35obj2 = {}obj2.转载 2020-06-02 19:32:14 · 873 阅读 · 0 评论 -
ES6 Generator函数和async函数
Generator函数与普通函数的区别在于在function与函数名之间,多出一个“*”号 函数体内可以使用yield关键字进行“暂停”,并将结果返回(value和done属性)。 执行函数不会返回结果,而是返回内部指针,当调用next()时,就将指针往下一步移动,在暂停处继续执行function* gen(a) { var x = yield a + 1; var y = yield x + 2; var z = yield y + 3; return z;原创 2020-05-28 20:16:54 · 177 阅读 · 0 评论 -
ES6 Promise对象
const promise = new Promise((resolve, reject) => { let result = dosomething(); if (result) { resolve('successMsg'); } else { reject('errorMsg'); }})//方法1(推荐)promise .then(msg => console.log(msg)) .catch(er.原创 2020-05-27 19:58:54 · 139 阅读 · 0 评论 -
JavaScript 作用域、闭包、上下文、this
作用域某个变量或函数的可访问范围全局作用域在任何地方都能访问到拥有全局作用域的对象:定义在最外层的变量 全局对象的属性 隐式定义的变量局部作用域通过函数定义,只在函数内部可见闭包定义在一个函数中的函数function f1(){ var n=999; nAdd=function(){n+=1} function f2(){//闭包 alert(n); } return f2;}var result=f1();result(原创 2020-05-26 19:09:32 · 110 阅读 · 0 评论 -
鼠标点击页面爱心特效
引入js文件:import $ from './jquery-2.1.4.min.js';//引入jQuery(function(window,document,undefined){ var hearts = []; window.requestAnimationFrame = (function(){ return window.requestAnima...原创 2019-09-27 10:27:11 · 464 阅读 · 0 评论 -
HTML5 多线程 Worker
webworker不能做的事:不能访问document对象不能访问window对象不能访问parent对象专用线程主页面index.html<!DOCTYPE html><html lang="en"><head> <title>test</title></head><原创 2018-12-13 19:09:51 · 96 阅读 · 0 评论 -
JQuery的datetimepicker插件,限制开始时间小于等于结束时间的方法
此插件在火狐浏览器中无法正常使用!!!js部分:开始时间的插件$("#startTime").datetimepicker({ minView: "month", language: 'zh-CN', format: 'yyyy-mm-dd', autoclose: true, todayBtn: true, pickerPositio...转载 2018-12-14 16:31:18 · 1083 阅读 · 3 评论 -
JQuery chosen插件修改
PHPstatic public function select_($name = '', $options = array(), $selectedItems = "", $attrib = "", $append = false) { $options = (array)($options); if($append and !isset($opti...原创 2019-03-01 08:38:20 · 1180 阅读 · 0 评论 -
跨域
跨域Dom查询位于a.my.com的a.php文件<iframe style="width:0;height:0" src="http://b.my.com/b.php"></iframe><script>$(function(){ document.domain = 'my.com';//设置域名})</script>...原创 2019-03-07 14:25:31 · 76 阅读 · 0 评论 -
用户行为分析 无埋点代码
1、用户行为分析系统代码:(function () { uba_initUbaMask(); window.onresize = function() { uba_initUbaMask(); }; document.addEventListener('click', function(e){ var objta...原创 2019-07-08 16:44:48 · 956 阅读 · 0 评论 -
JS监听浏览器前进后退事件
if (window.history && window.history.pushState) { //监听浏览器前进后退事件 $(window).on('popstate', function () { //do something... });}原创 2019-07-03 14:44:31 · 10205 阅读 · 0 评论 -
JavaScript判断是人工点击还是脚本触发的事件
https://developer.mozilla.org/zh-CN/docs/Web/API/Event/isTrusted概述返回一个布尔值,为true表明当前事件是由用户行为触发(比如说真实的鼠标点击触发一个click事件), 为false表明事件由一个脚本生成的(使用事件构造方法,比如event.initEvent)语法var bool = event.isTruste...原创 2019-07-11 15:47:57 · 2631 阅读 · 0 评论 -
jQuery触发<a>标签的href
使用jquery触发a标签跳转错误示例<a href="http://www.baidu.com" target="_blank">baidu</a>// 直接是触发click事件是无法跳转的<script>$('a').trigger('click');</script>正确示例// 如果要用jquery触发进行跳转,那...转载 2019-07-24 11:22:02 · 1291 阅读 · 0 评论 -
jQuery comboSelect插件设置默认值
$("#dom option[value='1']").attr("selected", true);//设置默认值$("#dom").comboSelect().trigger('change.select');//触发更新原创 2018-12-07 17:05:41 · 1669 阅读 · 0 评论