JavaScript
吴文炜
一个热爱生活的大龄男子
展开
-
express+mongoose写接口的时候,第二次请求报错
出现如下报错: (node:3488) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): OverwriteModelEr ror: Cannot overwrite col_1 model once compiled. 解决办法是将 mongoose.model 模型定义在请求接口外面...原创 2019-11-01 21:29:31 · 407 阅读 · 2 评论 -
史上最全常用正则表达式
史上最全常用正则表达式 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。 数字:^[0-9]*$ n位的数字:^d{n}$ 至少n位的数字:^d{n,}$ m-n位的数字:^d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]...转载 2019-05-14 10:00:47 · 117 阅读 · 0 评论 -
Promise学习
Promise学习 阅读廖雪峰的官方网站Promise后,自己记录下理解。 Promise对象,其实就是承诺执行,怎么解释,看下面的例子。 new Promise(function (resolve, reject){ // 这两个参数,就是两个函数,我们在函数内觉得什么时候执行。 var num = Math.random()*10 // 当num > 5 我们1秒后执行resolv...原创 2019-03-06 21:02:27 · 115 阅读 · 0 评论 -
label的使用(js 小知识点)
label label的中文意思就是标签的意思,这个js关键字就是制定一个标签,好在使用break或者continue的时候返回label定位的上下文环境中继续执行。 var num = 0; for (let i = 0; i < 10; i++) { for (let j = 0; j < 10; j++) { if (i == 5 && j == 5)...原创 2019-02-21 11:59:29 · 1341 阅读 · 0 评论 -
for in循环需注意(js 小知识点)
for in 使用for in的时候最好先检查对象是否是undefined否则会报错,null的话会不执行循环体。 var obj = { name: 'viven', age: 28 }; if (obj != undefined) { for (var key in obj) { console.log(key, obj[key]); }; }; // name...原创 2019-02-21 11:52:13 · 736 阅读 · 0 评论 -
js设计模式——代理模式(读书JavaScript设计模式与开发实战笔记02)
代理模式 代理模式顾名思义,就是通过一个代理去处理问题,例如黑道头子去买军火,一般都是让自己的头号手下去买,自己不参与实际交易~~ 我们先从常见的图片占位图片代理来说明。 通常情况下,我们加载图片的姿势是这样的。 <!DOCTYPE html> <html lang="en"> <head> <meta char原创 2019-03-02 15:51:02 · 106 阅读 · 0 评论 -
js的延迟加载
js的延迟加载一般用于提升页面的加载速度,通常情况下有以下几种方式: 1.通过script的标签async <script src="a.js"></script> <script src="b.js" async="async"></script> <script src="c.js">&原创 2019-02-20 17:04:23 · 284 阅读 · 0 评论 -
改变this的指向(js小知识)
改变this的指向 1.call() apply() bind()。 var color = 'green'; var o = { color: 'red' }; function sayColor(){ console.log(this.color); } sayColor(); // green sayColor.call(o) // red say...原创 2019-02-25 22:16:42 · 113 阅读 · 0 评论 -
Date日期方法(js小知识)
Date方法合集 getTime()返回表示日期的毫秒数;与 valueOf() 方法返回的值相同 setTime( 毫秒 ) 以毫秒数设置日期,会改变整个日期 getFullYear()取得4位数的年份(如2007而非仅07) getUTCFullYear()返回UTC日期的4位数年份 setFullYear( 年 ) 设置日期的年份。传入的年份值必须是4位数字(如2007而非仅07) setU...转载 2019-02-25 20:47:13 · 133 阅读 · 0 评论 -
js设计模式——单例模式(读书JavaScript设计模式与开发实战笔记01)
单例模式 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 // 首先创建一个初始化的构造函数 var CreateDiv = function (html) { this.html = html; this.init(); } CreateDiv.prototype.init = function () { var...原创 2019-03-01 16:32:16 · 115 阅读 · 0 评论 -
arr数组的方法(js小知识)
arr数组的方法 检测数组Array.isArray(value),如果是数组返回true,否则返回false if (Array.isArray(value)) { //do something... } 转换方法 toString valueOf toLocaleString join var colors = ['red', 'green', 'blue']; // t...原创 2019-02-24 22:35:09 · 1549 阅读 · 0 评论 -
js创建对象(js小知识)
js创建对象 工厂模式 工厂模式最大的问题就是不能识别对象,这就引出了构造函数。 function Person(name, age){ var o = new Object(); o.name = name; o.age = age; o.sayName = function(){ console.log(this.name); }; retu...原创 2019-02-27 20:43:45 · 113 阅读 · 0 评论 -
数组检测(js小知识)
数组检测 1.通过Object().toString().call(arr),当然这种方法一样可以检测任意类型。 var arr = [1,2,3,4]; Object().toString().call(arr) // '[object Array]' Object().toString().call({}) // '[object Object]' // ...... 2.insta...原创 2019-02-22 21:46:44 · 134 阅读 · 0 评论