<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[神百事的博客]]></title><description><![CDATA[初窥门径的前端er]]></description><link>https://blog.youkuaiyun.com/bb415453941</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bb415453941]]></copyright><item><title><![CDATA[js 单元测试-jest]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/76591535</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/76591535</guid><author>bb415453941</author><pubDate>Wed, 02 Aug 2017 18:09:36 +0800</pubDate><description><![CDATA[facebook家出的。1 安装 
npm init -y 
npm install jest2 创建demo.jsfunction sum(v1, v2) {
  return v1 + v2;
}function sad() {
  return 123;
}
module.exports = { sum, sad };
3 创建__tests__文件夹4 在__tests__ 下创建demo.]]></description><category></category></item><item><title><![CDATA[js e2e测试-nightwatch入门]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/76590942</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/76590942</guid><author>bb415453941</author><pubDate>Wed, 02 Aug 2017 18:05:13 +0800</pubDate><description><![CDATA[js的所有数字都存储为根为64位的（8比特），浮点数。
Number
  方法
  描述  toString()
  数字转字符串，使用指定基数(a.toSting(10)按10进制)
  toLcaleString()
  数字转字符串，使用本地数字格式顺序
  toFixed()
  数字转字符串，保留指定小数位（a.toFixed(2) == 0.02））
  toExponential()]]></description><category></category></item><item><title><![CDATA[flex]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/71081272</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/71081272</guid><author>bb415453941</author><pubDate>Tue, 02 May 2017 14:54:04 +0800</pubDate><description><![CDATA[应该1年前有过了一遍api，兼容不好不够用，据说现在能到ie9+了？那就再过一遍准备直接往项目上写！css的4种布局方式： 
1. 标准文档流 
2. 浮空布局 
3. 定位布局 
4. flex布局flex有容器和轴，两个概念1.1 父容器属性父容器可以统一设置子容器的排列方式，子容器也可以单独设置，以子容器的设置为准。
justify-content 设置子容器沿主轴排列（x轴 水平）]]></description><category></category></item><item><title><![CDATA[js的36个设计模式：技巧型模式]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/70313842</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/70313842</guid><author>bb415453941</author><pubDate>Fri, 21 Apr 2017 13:29:59 +0800</pubDate><description><![CDATA[1.链模式通过return this,让函数对象可以链式调用。function fn(){
    this.a = function(){
        console.log("a");
        return this;
    };
    this.b = function(){
        cosnole.log("b");
        return this;]]></description><category></category></item><item><title><![CDATA[js的36个设计模式：行为型模式]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/70313835</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/70313835</guid><author>bb415453941</author><pubDate>Fri, 21 Apr 2017 13:29:19 +0800</pubDate><description><![CDATA[1.模板方法模式不太好描述，就类似封装一个插件，传入不同参数和函数，实现添加dom的样式和方法。2.观察者模式跳过3.状态模式把多个判断封装到函数内。var a = "run";
function action(a){
    if(a == "run"){
        //code
    }else if(a == "jump"){
        //code
    }else if(a]]></description><category></category></item><item><title><![CDATA[原生js实现复制浏览器内容]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/70313825</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/70313825</guid><author>bb415453941</author><pubDate>Fri, 21 Apr 2017 13:28:34 +0800</pubDate><description><![CDATA[<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
</head><body>
    <div id="con">需要复制的文字</div>
    <br>
    <input type="button" name="" value="点击复制" onclic]]></description><category></category></item><item><title><![CDATA[es2015]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/70313784</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/70313784</guid><author>bb415453941</author><pubDate>Fri, 21 Apr 2017 13:23:53 +0800</pubDate><description><![CDATA[//1.let 只在作用域内有效
let name = "a";function fn() {
  let name = "b";
  console.log(name); //b
}fn();
console.log(name); //a//2.const 用来声明常量，一但声明就无法改变
const a = "a";
//a = "b";
console.log(a);
//3.class 类]]></description><category></category></item><item><title><![CDATA[js实现lazyman(流程控制)]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/70313775</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/70313775</guid><author>bb415453941</author><pubDate>Fri, 21 Apr 2017 13:22:59 +0800</pubDate><description><![CDATA[function _lazyMan(name) {
    this.name = name;
    this.task = [];
    this.default();
    var _this = this;
    setTimeout(function() {
        _this.next();
    }, 0)
}
_lazyMan.prototype.next = fun]]></description><category></category></item><item><title><![CDATA[2016年终总结]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53958760</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53958760</guid><author>bb415453941</author><pubDate>Sat, 31 Dec 2016 22:31:02 +0800</pubDate><description><![CDATA[黄金第一年。匆匆又1年，体会了几种不同的自己，应该来说是彻底告别社会新人标签，开始真正征途的1年。在锋浪呆到大概5 6月离职的吧，并不是愉快的。自己至少有8成的原因，对职业感太浅，和自己这类职场经历太少有很大关系，当时并没有从多方面考虑，直接造成了不快的结果。今后必须要注意！之后抱着对未来无限的向往，开始了所谓的创业，做本地微信的运营推广平台化等等，结果是哀怨大于心死，最后自己的平台还没开始砸钱下去]]></description><category></category></item><item><title><![CDATA[vue开发笔记]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53816109</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53816109</guid><author>bb415453941</author><pubDate>Thu, 22 Dec 2016 17:34:03 +0800</pubDate><description><![CDATA[安装vue-clinpm install vue-cli -gvue脚手架vue init webpack newpc 
或 
vue init webpack-simple newpc查看生产环境和编译生成文件npm run dev –inline –hot(热刷新) 
npm run build安装插件cnpm install vue-resource vue-router vuex --sav]]></description><category></category></item><item><title><![CDATA[js的36个设计模式：结构型模式]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53611087</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53611087</guid><author>bb415453941</author><pubDate>Tue, 13 Dec 2016 16:56:20 +0800</pubDate><description><![CDATA[1.外观模式（1）在对页面dom绑定原生点击事件的时候，dom2级会覆盖dom0级的操作；IE9不兼容addEventListener，而不支持dom2级的浏览器，又只能用dom0级的onclick。外观模式可以把一些兼容方法或者复杂的方法简化。function addEvent(dom,type,fn){
    //dom2
    if(dom.addEventListener){]]></description><category></category></item><item><title><![CDATA[Git和GitHub学习笔记]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53609454</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53609454</guid><author>bb415453941</author><pubDate>Tue, 13 Dec 2016 14:36:05 +0800</pubDate><description><![CDATA[上传新项目到Github1.在github创建仓库 
2.执行下面操作初始化当前目录为GIT仓库工作空间
git init生成README文件
git add README.md将代码提交到本地仓库中，备注“first commit”
git commit -m "first commit"创建远程仓库origin 连接服务器https://github.com/baishiup/hexoblogc]]></description><category></category></item><item><title><![CDATA[js的36个设计模式：创建型模式]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53585072</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53585072</guid><author>bb415453941</author><pubDate>Mon, 12 Dec 2016 17:06:01 +0800</pubDate><description><![CDATA[1.简单工厂模式    function fn(id,txt){
        var o = new Object();
        o.txt = txt;
        if(id == "a"){
            o.show = function(){
                console.log("a:" + this.txt);
            }]]></description><category></category></item><item><title><![CDATA[js的36个设计模式：前奏]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53584544</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53584544</guid><author>bb415453941</author><pubDate>Mon, 12 Dec 2016 16:37:19 +0800</pubDate><description><![CDATA[先是一些js面向对象的基础，后面的模式都会涉及到这些知识点。
构造函数，原型对象    var Fn = function(f){
        //var定义私有方法、属性
        var num = 1;
        //this定义公有方法
        this.getF = function(){
            //...
        }
        //]]></description><category></category></item><item><title><![CDATA[MVC,MVVM简单理解]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53545754</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53545754</guid><author>bb415453941</author><pubDate>Fri, 09 Dec 2016 22:32:42 +0800</pubDate><description><![CDATA[MVC用户-》view-》controller-》model-》viewView 传送指令到 Controller 
Controller 完成业务逻辑后，要求 Model 改变状态 
Model 将新的数据发送到 View，用户得到反馈。(用户操作视图，业务逻辑控制器操作数据，数据层再反馈到视图层展示。)MVVM用户-》view-》viewModel-》model采用双向绑定，View的变动，自动]]></description><category></category></item><item><title><![CDATA[js的链式调用]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53470604</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53470604</guid><author>bb415453941</author><pubDate>Mon, 05 Dec 2016 21:52:43 +0800</pubDate><description><![CDATA[一个简单的链式调用 //需求num不等于1，2，3
    function Fn(num){
        this.num = num;
    };
    Fn.prototype.checkOne = function(){
        if(this.num != 1){
            return this;
        }else{
            ret]]></description><category></category></item><item><title><![CDATA[代码的抽象三原则]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53268270</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53268270</guid><author>bb415453941</author><pubDate>Mon, 21 Nov 2016 23:08:43 +0800</pubDate><description><![CDATA[软件开发是"抽象化"原则（Abstraction）的一种体现。

所谓"抽象化"，就是指从具体问题中，提取出具有共性的模式，再使用通用的解决方法加以处理。



开发软件的时候，一方面，我们总是希望使用别人已经写好的代码，另一方面，又希望自己写的代码尽可能重用，以求减少工作量。要做到这两个目标，这需要"抽象化"。

最近，我读到美国程序员Derick Bailey的一篇文章，谈到"]]></description><category></category></item><item><title><![CDATA[js原生代码实现数据双向绑定]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53258093</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53258093</guid><author>bb415453941</author><pubDate>Mon, 21 Nov 2016 12:18:14 +0800</pubDate><description><![CDATA[封装成jquery的插件了，复制代码后在Jquery之后引入； 
也可以去掉插件那行直接使用。<!--使用方法-->
<div data-bind-1="name"></div>
<input type="text" data-bind-1="name" />
<script>
    $.DBind(1).set("name", "123");
</script>(function() {]]></description><category></category></item><item><title><![CDATA[vue笔记。Demo 2]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53152855</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53152855</guid><author>bb415453941</author><pubDate>Sun, 13 Nov 2016 22:21:08 +0800</pubDate><description><![CDATA[<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
</head><body>
    <div id="app">
    </div>
    <script src="vue.js"></script>
    <script>
    //每一个Vue应用都]]></description><category></category></item><item><title><![CDATA[vue笔记。Demo 1]]></title><link>https://blog.youkuaiyun.com/bb415453941/article/details/53152710</link><guid>https://blog.youkuaiyun.com/bb415453941/article/details/53152710</guid><author>bb415453941</author><pubDate>Sun, 13 Nov 2016 22:02:47 +0800</pubDate><description><![CDATA[<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <title>learn vue:1</title>
</head><body>
    <!-- 渲染和绑定渲染 -->
    <!-- 直接渲染 -->
    <div id="app">
        {{message}}
    </div>]]></description><category></category></item></channel></rss>