关闭

JS -- Immutable.js & React & Redux

乱入的DockerDocker是一个开源工具,能将一个WEB应用封装在一个轻量级,便携且独立的容器里,然后可以运行在几乎任何服务环境下。Docker的容器能使应用跑在任何服务器上并且表现一致。一个开发者在笔记本上建立的一个容器,能跑在很多环境下,如:测试环境,生产环境,虚拟机上,VPS,OpenStack集群,公用的电脑等等。Docker的一般使用在以下几点: 1 自动化打包和部署应用 2 创造...
阅读(44) 评论(0)

JS复习 -- 递归

两个很常见的递归函数:// 阶乘 function factorial(n) { if (n == 1) return n; return n * factorial(n - 1) }console.log(factorial(5)) // 5 * 4 * 3 * 2 * 1 = 120// 斐波那契数列 function fibonacci(n){ return n < 2...
阅读(45) 评论(0)

JS -- 函数组合

什么是函数组合?就是将需要嵌套执行的函数平铺。嵌套执行指的是,一个函数的返回值将作为另一个函数的参数。一个简单的栗子:var compose = function(f,g) { return function(x) { return f(g(x)); }; };这个函数可以完成两个函数的嵌套转平铺。那么如果是支持多个参数的呢?也就是说,后一个函数的返回值总是作为前一个...
阅读(108) 评论(0)

JS 如何判断两个对象相等

前提条件: 1、NaN 和 NaN 相等 2、[1, 2] 和 [1, 2] 相等 3、{value: 1} 和 {value: 1} 相等 4、1 和 new Number(1) 相等 5、’Curly’ 和 new String(‘Curly’) 相等 6、true 和 new Boolean(true) 相等下面我们来一步一步的讨论+0 & -0在很多情况下,+0 -0...
阅读(175) 评论(0)

JS复习 -- 作用域链

作用域链属于执行上下文的属性之一。咦?你问我执行上下文是什么: 当JS代码执行一段可执行代码的时候,就会创建对应的可执行上下文。每个执行上下文都有三个重要属性: 1、变量对象 2、作用域链(后面我们就会了解,作用域链其实就是变量对象组成的链) 3、this好了,言归正传了。当js执行过程中,需要查找一个变量的时候,会先从当前上下文的变量对象中查找。但是如果没找到,就会从词法层面上(一定注意这...
阅读(80) 评论(0)

JS复习 -- 类型判断

typeof注意,虽然我们可以写:console.log(typeof('miao~')) // string但是,typeof却是一个运算符,就像加减一样!它的真实身份是一个一元操作符。因此,人家的正经写法是:console.log(typeof 'miao~') // string当我们使用typeof来判断JS的六种基本数据类型的时候,返回的值分别是:Undefined -- undefine...
阅读(521) 评论(0)

JS复习 -- 函数柯里化

柯里化,该词来源于英文单词Currying,感觉是好深奥的一个词。 我记住它的方式是:柯里化 –> 颗粒化。也就是将使用多个参数的函数转化成一系列使用一个参数的函数的方法。颗粒化嘛。例子:function add(a, b) { return a + b; }// 执行 add 函数,一次传入两个参数即可 add(1, 2) // 3// 假设有一个 curry 函数可以做到柯里化 var...
阅读(65) 评论(0)

JS复习 -- 执行上下文栈

思考题:下面两段代码有何不同:var scope = "global scope"; function checkscope(){ var scope = "local scope"; function f(){ return scope; } return f(); } checkscope();var scope = "global scope";...
阅读(57) 评论(0)

JS 防抖

没有防抖:var count = 1; var container = document.getElementById('container');function getUserAction() { container.innerHTML = count++; };container.onmousemove = getUserAction;此时,鼠标移动,getUserAction方法就会频...
阅读(64) 评论(0)

Mongoose populate方法

最近好忙啊,好久没有来写博客了~ 干巴蝶! 还是那句话,写一遍真的比看一遍要好很多!populate方法提供外键填充的功能。由于Mongoose是极具JavaScript特点的程序库,提供了极其简单和强大的填充功能,因此,populate不止可以填充单个文档,也支持多文档,甚至直接填充对象!外键引用在定义Schema字段时,可以添加ref属性来指向另一个Schema。 该ref属性在此后被填充(...
阅读(47) 评论(0)

Mongoose -- Schemas Models Documents

SchemasMongoose中,所有的东西都由Schemas开始。schema相当于是MongoDB的collection,并且定义了文档的结构。var mongoose = require('mongoose'); var Schema = mongoose.Schema;var blogSchema = new Schema({ title: String, author: Stri...
阅读(92) 评论(0)

Mongoose -- quick start

使用mongoose之前,首先要确保你的电脑安装了MongoDB和Node。安装MongoDB的教程可见: http://www.jianshu.com/p/1bb663918cfd然后,我们可以用npm指令来安装mongoose:$ npm install mongoose接下来,我们就可以使用mongoose来连接MongoDB了,连接方法如下:// getting-started.js va...
阅读(101) 评论(0)

几个函数式编程术语

偏应用函数 Partial Application栗子:// 创建偏应用函数,偏应用函数将会返回另一个函数。 // 带一个函数参数 和 该函数的部分参数 const partial = (f, ...args) => // 返回一个函数:这个函数的参数在调用函数的时候传入。 (...moreArgs) => // 使用全部参数调用原始函数 f(...args, ...more...
阅读(124) 评论(0)

React踩坑指南——setState不生效的解决方法

不生效的写法:const theQuery = Object.assign( {}, { id: '', beginDate: '', endDate: '' // 查询条件 }, _query.toJS() ); this.setState(theQuery); action.getRefundList(theQuery)可以生效的写法1:const theQuery = Object...
阅读(175) 评论(0)

一些杂项

Redux-devTools转自简书:http://www.jianshu.com/p/a2d4c1856560redux-devtools 是一个非常棒的工具,它可以让你实时的监控Redux的状态树的Store创建:import React from 'react'//从redux-devtools中引入createDevTools import { createDevTools } from '...
阅读(97) 评论(0)

复习Redux

简介1、一句话概括Redux 是 JavaScript 状态容器,提供可预测化的状态管理。2、action、reducer 和 store所有的state都以一个对象树的形式,存储在一个单一的store中。唯一改变state的办法是触发action——1个描述发生什么的对象。为了描述action如何改变state,需要编写reducers。import { createStore } from 'r...
阅读(119) 评论(0)

【转】前端框架基础:Babel & package.json & npm & nodemon

Babel 入门教程 http://www.ruanyifeng.com/blog/2016/01/babel.htmlpackage.json http://javascript.ruanyifeng.com/nodejs/packagejson.html#toc2npm入门: https://chenyiqiao.gitbooks.io/documentation_for_npm/cont...
阅读(178) 评论(0)

JavaScript -- 事件

事件处理程序HTML事件处理程序或者 function showMessage(){ alert("Hello world!"); } <input ty...
阅读(105) 评论(0)

Node -- 构建HTTP服务

在Node中构建HTTP服务非常容易:var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'...
阅读(111) 评论(0)

ES6 -- Promise对象

Promise是一种异步编程的解决方案,ES6提供原声的Promise,它比传统的解决方案,回调函数和事件,更加合理和强大。Promise对象有以下两个特点:1、对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending, resulved, rejected。只有异步操作的结果,可以决定是哪一种状态。2、状态一旦改变,就不会再变化,并且任何时候都可以得到这个结果。实用P...
阅读(247) 评论(0)
390条 共20页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:144113次
    • 积分:4804
    • 等级:
    • 排名:第6649名
    • 原创:337篇
    • 转载:47篇
    • 译文:6篇
    • 评论:24条