- 博客(22)
- 收藏
- 关注
原创 C(m,n)算法
最近需求,要写排列组合算法,首先第一步是m个元素中选n个元素进行组合,也就是数学中C(m,n);方法有多种。递归let arr = [1,2,3]function combination(arr, nLen, m, singleArr, list) { if (m === 0) { let arrCopy = [] for (let j = 0; j < s
2018-05-04 17:15:44 3516
原创 Object.defineProperty的双向绑定机制
一、深拷贝一个简单的实现let newObj = JSON.parse(JSON.stringify(obj))二、Object.defineProperty官方文档三、发布者/订阅者模式四、双向绑定一个简单的实现 <div id="txt"></div> <script> let obj = { a: '123' }
2018-05-04 17:14:59 299
原创 reduce实现排列组合
之前需求需要排列组合,然后参考这个链接后,发现了用js的高阶函数reduce去解决不定长二维数组的排列组合问题;var data = { color: ['color1', 'color2', 'color3'], size: ['size1', 'size2', 'size3'], style: ['style1', 'style2', 'style3']}Object.values
2018-05-04 17:13:48 703
原创 Vue组件通信、双向绑定
一、组件之间的通信父组件向子组件传递propsthis.$parents 应急方法(包括$children)子组件向父组件传递$emit和$on 自定义事件<div id="message-event-example" class="demo"> <p v-for="msg in messages">{{ msg }}</p> <button-message v-on:mess
2018-05-04 17:13:12 283
原创 Javascript Date对象
前言任何语言的Date类型都有自己的一套实现方法,JS中内置引用类型Date类型,特点很多,可以做一个记录。继承Date参考这个//参考实现// 需要考虑polyfill情况 Object.setPrototypeOf = Object.setPrototypeOf || function (obj, proto) { obj.__proto__ =
2018-05-04 17:11:59 134
原创 JS在函数中形参和局部变量同名的问题
前言上次牛客网做到这样一个题,非常有意思,陷阱非常多,当时觉得搞明白了,现在再看到,又糊涂了,发现了新的点,看一下:var foo={n:1};(function (foo) { console.log(foo.n); foo.n = 3; var foo = {n:2}; console.log(foo.n);})(foo);console.log(foo.n
2018-05-04 17:05:15 3312 2
原创 JS回调函数中无法改变外部变量的问题
今天又遇到了上次的问题,上次只是找了个方法解决,没有搞清楚原理;router.get('/', function (req, res, next) { var abc; Article.findArticle({}, function (err, res) { if (err) { console.log(err); } else
2017-09-10 11:04:20 7428
原创 原生JS实现图片懒加载
最近接的项目终于接近尾声,这段时间一直没有造轮子,在实现设计图还原的途中,发现还是有一些技术需要掌握,难者不会,会者不难,没有实际操作过的东西在项目中毫无头绪,而懒加载在实际开发中是一个很有效的东西,在页面中我们往往需要放上很多张图,性能是个大问题,一次性加载所有图片一般都会卡很久,因此,在需要预览的时候再加载,是一个很好的解决方案。 参考了https://www.denpe.com/javasc
2017-05-20 10:15:49 495
原创 MongoDB变量如何传参给查询条件
最近需要在express中使用AJAX,通过AJAX给数据库更新用户表,但是用户数据很多,所以需要把查询条件写成动态的,即通过变量给mongodb中的update传参; 首先我们先来看看mongodb中update如何使用:db.collection.update( <query>, <update>, { upsert: <boolean>, multi:
2017-03-26 21:40:00 4865
原创 Express+MongoDB+Robomongo环境配置
最近需要学一门后台技术,听说Node可以作为服务器端语言,于是乎~ 然而,配置环境是我最讨厌的事,不过,环境搭好才能写代码。 下面讲讲如何在windows服务器上配置express+mongodb环境; 工具: node-v6.10.0-x64.msi mongodb-win32-x86_64-2008plus-ssl-3.4.2-signed.msi robomongo-1.0.0-r
2017-03-17 13:19:28 967
原创 JS构造函数创建对象时的传参问题
当对象属性为字符串时function User(obj){ this.name = obj.name; this.password = obj.password;}var user = new User({ name:"name", password:"password"});window.onload = function(){ co
2017-03-09 20:35:15 4985
原创 Node.js 关于HTML文档中的req.url理解
index.jsvar http = require('http'),fs = require('fs');var server = http.createServer(function(req,res){ if(req.method == 'GET' && req.url.substr(0,7) == '/images' && req.url.substr(-4) == '.jpg')
2017-02-26 21:27:10 1293
原创 JS图片类之苹果导航效果
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title></head><style type="text/css"> img{ /*border:1px solid #000;*/ margin: 0; padding: 0 }
2017-02-23 15:37:56 323
原创 javaScript正则表达式
var pattern1 = /[abc]/gi;var pattern2 = new RegExp("[abc]","gi");//创建正则表达式的两种方法在//里写规则,在第二个/后加上标志: g:global,全局,应用于所有字符串; i:ignore,不区分大小写; m:multiline,多行模式;在//里,元字符必须转义,包括 ( ) [ ] { } \ ^ $ | ?
2017-02-19 20:18:04 295
原创 面向过程与面向对象比较之tab选项卡切换
<body> <div id="div"> <input type="button" value="选项卡1" name=""> <input type="button" value="选项卡2" name=""> <input type="button" value="选项卡3" name=""> <div>111</div>
2017-02-16 13:31:33 424
原创 Javascript对象与继承
标识符指变量,函数,属性的名字,或者函数的参数; 对象是引用类型的值,是引用类型的一个实例;引用类型是一种数据结构; 所有引用类型默认都继承自Object类型,所有对象都继承自Object(JS高程);创建对象的方式1.工厂模式原理:在普通函数中创建一个对象,通过函数传参至对象内,返回对象;调用函数即可返回一个对象; 缺点:没有对象识别,及没有对象类型; 例子://1.工厂模式functi
2017-02-16 13:31:06 235
原创 jQuery语法和常用函数总结
jQ对象是对DOM对象进行包装后产生的对象,DOM对象和jQ对象中的方法和属性不可互用 jQuery对象与DOM对象可相互转换,因此,可约定好定义变量的风格; var $variable = jQ对象; var variable = DOM对象; 相互转换://jQ对象转DOM对象var variable = $variable[0];//数组方法var variable = $vari
2017-02-16 13:29:45 405
原创 文本溢出的解决方案
单行文本溢出text-overflow属性:clip,ellipsis,string 常用text-overflow:ellipsis省略号.textOverflow{ width: 200px; text-overflow: ellipsis;/*多余文本省略号代替*/ overflow: hidden;/*多余部分隐藏*/ whi
2017-02-16 13:28:24 298
转载 block,inline和inline-block细节对比
block,inline和inlinke-block细节对比display:blockblock元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。block元素可以设置margin和padding属性。display:inlineinline元素不
2017-02-16 13:28:05 244
原创 清除浮动的一些方案
1.br标签的中clear属性:br标签中的clear属性类似于CSS中的clear属性,可以将与br标签相邻的元素中的浮动特性清除;(IE中容器设置zoom:1)<div class="float-box"> <div class="float-left"></div> <div class="float-right"></div> <br clear="all"></d
2017-02-16 13:27:40 251
原创 媒体查询
语法:@media logic type and (feature:value)media=”logic type and (feature:value)”logic:only或not;only关键字可以确保旧的浏览器不读取余下的媒体查询,同时一并忽略链接的样式表;not关键字可以对媒体查询的结构求反,让其反面为真; type:类型,screen、print等; feature:value对是可
2017-02-16 13:26:56 487
原创 欢迎使用CSDN-markdown编辑器
一、HTTP请求1.请求行Method Request-URI HTTP-Version CRLF eg. GET /form.html http/1.1 (CRFL)2.消息报头请求报头: 名字+”:”+空格+值 eg. Accept: text/html(表示客户端希望接受html文本)3.请求正文二、HTTP响应1.状态行HTTP-Version Status-Code Reaso
2017-02-16 13:26:14 175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人