javascript
文章平均质量分 58
yanyang1116
这个作者很懒,什么都没留下…
展开
-
vue 类似 react 中展开属性的 api
原创 2021-10-12 10:20:55 · 166 阅读 · 0 评论 -
error: Parsing error: “parserOptions.project“ has been set for @typescript-eslint/parser
因为一直在用印象笔记,好久没更新这个博客了。这边记录今天遇到的一个问题:error: Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser这个问题产生的原因是:有两个相同的文件,在一个目录下,ts 解析会问题,我这边的目录结构是:然后 index.d.ts 里面就会 eslint 报错。换个名字就好了,具体error详见:https://github.com/typescri原创 2021-02-16 13:25:55 · 11162 阅读 · 0 评论 -
webpack-dev-server 中 hot 和 hotonly 的差别
hot 和 hotOnly 的区别是在某些模块不支持热更新的情况下,前者会自动刷新页面,后者不会刷新页面,而是在控制台输出热更新失败原创 2018-09-07 17:10:23 · 13744 阅读 · 0 评论 -
ts中递归,把所有属性变为可选
type DeepPartial<T> = T extends Function ? T : T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;type PartialedWindow = DeepPartial<Window>; // 现在window 上所有属性都变成了可选啦转载 2020-10-27 19:26:02 · 3744 阅读 · 0 评论 -
记录,待解决
记录,待解决1. 发现vuex托管的对象,在初始化的时候一定先组织好自己的数据结构。无视 vue 的生命周期。2. 发现,vuex托管后的对象,尽管是import载入的,他也变成了同一个内存。3. 普通 import 到时是引用还是复制?...原创 2018-06-05 16:37:09 · 170 阅读 · 0 评论 -
ES6之Babel的各种坑总结
自从 Babel 由版本5升级到版本6后,在安装和使用方式上与之前大相径庭,于是写了这篇入坑须知,以免被新版本所坑。坑一:本地安装和全局安装 全局安装只需:$ npm install –global babel-cli 这时候我们可以使用 Babel 命令编译文件:$ babel index.js --out-file compiled.js#或$ babel index.js...转载 2018-04-04 16:32:41 · 1675 阅读 · 0 评论 -
ES6 + Webpack + React + Babel 如何在低版本浏览器上愉快的玩耍(下)
回顾起因某天,某测试说:“这个页面在 IE8 下白屏,9也白。。”某前端开发: 吭哧吭哧。。。一上午的时间就过去了,搞定了。第二天,某测试说:“IE 又白了。。”某前端开发: 嘿咻嘿咻。。。谁用的 Object.assign,出来我保证削不屎你。在上篇,我们主要抛出了两个问题,并给出了第一个问题的解决方案。 1. SCRIPT5007: 无法获取属性 xxx 的值,对象为 null 或未定义,这种...转载 2018-04-08 13:37:11 · 346 阅读 · 0 评论 -
CommonsChunkPlugin详解
在不指定的情况下,要提取的公共模块需要在入口文件里显式声明。// main.jsimport Vue from 'vue'import App from './App.vue'import _ from "underscore";new Vue({ el: '#app', render: h => h(App)})// main2.jsimport _...原创 2018-02-25 14:34:11 · 1925 阅读 · 0 评论 -
currying函数
// add是纯函数,不关心任何事情,只做函数定义的一件事然后返回一个结果function add(num1, num2) { return num1 + num2;}/*** 这个是一个curry化的简单表达,这个函数创建了一个新的版本的add函数* 这个函数的第一个实参是5*/function curriedAdd(num2) { retur原创 2018-01-10 16:55:43 · 330 阅读 · 0 评论 -
不错的交换数组位置方法
let arr = [1, 2, 3, 4, 5]// 交换第三个和第四个元素// x < ylet x = 3, y = 4arr.splice(x - 1, 1, ...arr.splice(y - 1, 1, arr[x - 1]))console.log(arr) /// [1,2,4,3,5]转载 2018-07-17 17:26:36 · 3274 阅读 · 0 评论 -
千位符方法
这篇文章主要介绍了JS实现的4种数字千位符格式化方法分享,本文给出了4种千分位格式化方法并对它们的性能做了比较,需要的朋友可以参考下所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,我起初写了这样一个函数:复制代码代码如下:// 方法一function toThousands(num) { var result = [ ], co...转载 2018-08-29 11:35:47 · 1225 阅读 · 0 评论 -
history.go()和history.back()的用法与区别
Javascript:history.go()和history.back()的用法与区别简单的说就是:go(-1):返回上一页,原页面表单中的内容会丢失;back():返回上一页,原页表表单中的内容会保留。 history.go(-1):后退+刷新history.back():后退 之所以注意到这个区别,是因为不同的浏览器后退行为也是有区别的,而区别就跟javascript...转载 2018-08-25 10:46:39 · 525 阅读 · 0 评论 -
检测图片是否被加载,完毕
// Nice job$('#app img').one('load', function() {const height = $(this).height();const width = $(this).width();$(this).css({height: height / 100 + 'rem',width: width / 100 + 'rem',});}...转载 2018-11-15 11:22:01 · 528 阅读 · 0 评论 -
关于动态构造函数的摘抄
这里解释为什么 if 语句的意思**********略,比较简单// **********************************************************************下面解释了为什么不能用字面量假设有一个构造函数:function CO(){ this.p = “I’m in constructed object”...转载 2019-04-26 22:41:07 · 294 阅读 · 0 评论 -
驼峰和下划线转化
// 下划线转换驼峰function toHump(name) { return name.replace(/\_(\w)/g, function(all, letter){ return letter.toUpperCase(); });}// 驼峰转换下划线function toLine(name) { return name.replace(/([...转载 2019-05-12 17:36:01 · 654 阅读 · 0 评论 -
Nginx命令
nginx -s reload :修改配置后重新加载生效nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确关闭nginx:nginx -s stop :快速停止nginx quit :完整有序的停止nginx其他的停止nginx 方式:ps -ef | grep n...转载 2019-06-07 21:03:34 · 405 阅读 · 0 评论 -
gulp 管道中删除
var gulp = require('gulp'); var stripDebug = require('gulp-strip-debug'); // 仅用于本例做演示 var del = require('del'); var vinylPaths = require('vinyl-paths'); gulp.task('clean:tmp', function () { return gul...原创 2019-07-20 14:21:38 · 626 阅读 · 0 评论 -
closure
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全转载 2018-01-17 13:36:08 · 311 阅读 · 0 评论 -
new Date().getTime()
JavaScript中可以在某个元素前使用 ‘+’ 号,这个操作是将该元素转换Number类型,如果转换失败,那么将得到 NaN。所以 +new Date 将会调用 Date.prototype 上的 valueOf 方法,而根据 MDN ,Date.prototype.value 方法等同于 Date.prototype.getTime() 。所以下列代码效果相同:转载 2018-01-17 09:50:00 · 4060 阅读 · 0 评论 -
函数节流和防抖
一、前言 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃。 1. window对象的resize、scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mousedown、keydown事件 4. 文字输入、转载 2018-01-16 17:38:38 · 244 阅读 · 0 评论 -
获取元素CSS值之getComputedStyle方法熟悉
获取元素CSS值之getComputedStyle方法熟悉这篇文章发布于 2012年05月8日,星期二,23:31,归类于 js实例。 阅读 103012 次, 今日 62 次by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2378一、碎碎转载 2016-06-09 20:26:50 · 373 阅读 · 0 评论 -
javascript限制和统计文本输入字数的解决方案
常常会遇到,需要统计字数、限定字数的需求,这里分别列出js和jquery解决方案,兼容ie8核心提示:1.限制字数,html5有新属性maxlength1.动态取出目标文本输入框的value的length。2.将这个值,动态赋值给你需要展示的dom结构。3.达到最大时候,将超出的文本用原创 2016-02-25 11:31:52 · 3055 阅读 · 0 评论 -
CSSOM视图模式(CSSOM View Module)相关整理
CSSOM视图模式(CSSOM View Module)相关整理这篇文章发布于 2011年09月9日,星期五,01:24,归类于 js相关。 阅读 63322 次, 今日 4 次by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1907转载 2016-03-21 10:27:30 · 688 阅读 · 0 评论 -
如何理解JaveScript中的函数声明提升
说起来,JavaScrip中关于“声明提升”的说法,本质上是在编译器在进入可执行代码时会先准备环境。以进入一段function代码为例:第一步:创建可执行上下文(以下简称为EC),压入当前的EC栈中。EC中包括了以下信息:词法环境(=环境记录项(保存变量、函数声明和形参)+ 外部词法环境(function的[[scope]]属性,作用域链的本质))this的指向变量环境转载 2016-03-17 22:14:37 · 411 阅读 · 0 评论 -
栈中的“先进后出,后进先出”是什么意思?
形象点说,栈只有一个开口,先进去的就倒最底下,后进来的就在前面,要是拿出去的话,肯定是从开口端拿出去,所以说先进后出,后进先出。转自百度知道——影の黑骑士转载 2016-03-25 11:49:31 · 17983 阅读 · 0 评论 -
javascript将页尾悬置在页面底部
需求描述:网站的页尾常常需要被放置在底部。但是普通文档流布局的话,这个底部会随着文档流移动,在不同高度的显示器上的表现效果就不同了。这里就需要:1.当文档高度大于可视区域高度的时候,跟随文档流布局。2.当文档高度小于可视区域高度的时候,固定在底部。几个知识点:a.首先是文档高度的确定这里使用的是document.body.offsetHeight这个属性可以获取你整原创 2016-04-16 09:59:41 · 657 阅读 · 0 评论 -
javaScript工厂模式分析
原理:1.申明一个作用域里的具名函数,来模拟一个基类。函数的参数作为基类的参数传递。2.具体而言:是在函数(模拟的基类)中声明局部的Object实例(通过构造函数声明的引用类型的值,只在本作用域有效),为这个实例添加属性和方法,这些属性和方法的值和该函数(模拟的基类)的参数挂钩;最后通过一个返回值返回出来。3.返回之后:(调用)函数赋值给需要的子类,这就完成了一个声明子类的动作,于是这原创 2016-04-18 10:12:40 · 498 阅读 · 0 评论 -
javaScript构造函数分析
原理:1.在一个作用域里,申明一个具名函数(构造函数)来模拟基类。这个具名函数的参数作为基类的参数传递。2.构造函数内部,使用this来为这个函数添加属性和方法。3.使用的时候,调用这个构造函数并且可以传参。然后使用new关键字改变this的指向,把它指向原创 2016-04-20 13:50:05 · 277 阅读 · 0 评论 -
CSS3动画那么强,requestAnimationFrame还有毛线用?
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3695一、哟,requestAnimationFrame, 新同学,先自我介绍下Hello, 大家好,我就是风姿卓越,万种迷人的requestAnimationFrame,呵呵呵呵。很高兴和大家见面转载 2016-06-30 12:53:47 · 898 阅读 · 0 评论 -
如何用js动态插入svg?如何在svg中在插入Dom元素
如何用js动态插入svg?如何在svg中在插入Dom元素?最近遇到了这个问题,于是好好研究了一番。有这么一篇文章,可以关注。解释的很清楚。http://stackoverflow.com/questions/3642035/jquerys-append-not-working-with-svg-element粘出里面的关键代码:转载 2016-07-05 12:57:16 · 11670 阅读 · 0 评论 -
模块循环引用
"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。// a.jsvar b = require('b');// b.jsvar a = require('a');通常,"循环加载"表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。但是实际上,这是很难避转载 2018-01-16 16:58:13 · 398 阅读 · 0 评论 -
eggjs 跨域post 不能保存本地cookie问题
1. 客户端需要发起一次带有 Credentials 请求头的 信息的请求,在 axios 里是这么一个配置项: // `withCredentials` indicates whether or not cross-site Access-Control requests // should be made using credentials withCred原创 2017-12-26 14:05:19 · 3941 阅读 · 0 评论 -
javascript的字符串方法【substring、slice、substr】的区别
老忘,然后看mdn。这里总结下,记录一笔,好记性不如烂笔头:String.prototype.substring: 这个方法传递的是字符串下标的索引位置,返回新的被截取的字符串,不会改变原来的字符串。接受两个参数,不填也没关系,啥事情都不做。第一个参数是起始位置,第二个参数是可选参数结束位置,第二个参数不写的时候就是默认索引到最后。第二个参数可以小于第一个参数,这种情况下,其实他们就发生了一原创 2017-11-21 10:46:10 · 565 阅读 · 0 评论 -
函数作用域
函数创建阶段就是创建了一个函数对象,这个对象是Function的实例。创建完成之后,内部属性[[Scope]]被初始化,上面富含了该函数作用域链的信息。在此阶段这个属性的初始位置被指代为全局对象。函数执行阶段该阶段,先创建执行上下文(对象)。进行初始化操作,按照函数定义中的标记符出现的位置创建活动对象,对于函数中未出现的对象,尝试从当前对象[[Scope]]上一层找,找到后复制一个引用,没有就是直接原创 2017-11-29 15:08:17 · 159 阅读 · 0 评论 -
jshint配置 文件说明
jshint配置 文件说明原创 2017-04-13 14:06:34 · 1148 阅读 · 0 评论 -
js动态创建svg(兼容ios7、8)
// ... /* * 下面的这段写法,可以做到在原生js中,动态插入能兼容ios7、8的svg图像,iOS7、8命名空间的NS对象的直接innerHTML写入应该是有问题。 */ var icon = document.createElementNS('http://www.w3.org/2000/svg', 'svg'), // 创建带有标准svg命名空间的节点 svgHac原创 2016-11-21 13:05:20 · 1447 阅读 · 0 评论 -
createElement vs. createElementNS
down voteacceptedTo understand the problem namespaces are trying to solve, consider file extensions. 3-letter file extensions have done a really bad job of describing the content of files. T转载 2016-11-21 12:38:58 · 3506 阅读 · 0 评论 -
原生dom 模拟jquery hasclass
以上,是原生来实现hasclass的代码,做记录转载 2016-10-20 13:11:15 · 457 阅读 · 0 评论 -
javaScript使用new关键字时发生了什么?
作者:何幻链接:https://www.zhihu.com/question/36440948/answer/71234418来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。var F=function(){ //this指向谁,在定义时是不知道的};var p=new F;用new调用一个函数发生了这些事:转载 2016-04-21 10:15:13 · 787 阅读 · 0 评论