<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lavender21的博客]]></title><description><![CDATA[用于记录自己的学习历程~]]></description><link>https://blog.youkuaiyun.com/lavender21</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lavender21]]></copyright><item><title><![CDATA[ionic2 Navigation实现报错：No component factory found for "MyComponent"]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/53022545</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/53022545</guid><author>lavender21</author><pubDate>Thu, 03 Nov 2016 16:12:26 +0800</pubDate><description><![CDATA[Navigation 是ionic2中的一个UI组件，十分好用。实现的功能是点击当前页列表中的某一项跳转到详情，又或可以一直跳转下去，它的原理是将页面压入栈中，返回上一级的时候再一次次弹出。本人ionic小白，在实现点击当前页列表中的任意一项跳入到详情页面时。控制台报错：No component factory found for “MyComponent” 
其中MyComponent是模块名称。]]></description><category></category></item><item><title><![CDATA[配置安装ionic环境以及遇到的问题]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52971633</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52971633</guid><author>lavender21</author><pubDate>Sun, 30 Oct 2016 13:00:49 +0800</pubDate><description><![CDATA[1.首先要下载nodejs 安装npm当然由于国内网络限制有两种解决方案，一种是利用vpn翻墙，另一种比较快的方法是安装淘宝镜像.在node官网 (https://nodejs.org/en/download)上下载nodejs 
然后再安装淘宝镜像： 
npm install -g cnpm –registry=https://registry.npm.taobao.org 
然后到C:\Prog]]></description><category></category></item><item><title><![CDATA[console调试JS总结]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52790200</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52790200</guid><author>lavender21</author><pubDate>Tue, 11 Oct 2016 17:44:52 +0800</pubDate><description><![CDATA[平时在开发过程中经常需要调试js代码，console给我们提供了很大的便利，其实除了熟知的console.log()，console.dir()等，console还有很多方法十分好用。下面简单总结一下。首先分别在谷歌，火狐，nodejs下试了一下，目前的支持情况如下：相对来说，nodejs控制台对console的支持不是很多。
提示信息 
console.log() 一般输出 
console.in]]></description><category></category></item><item><title><![CDATA[css flexbox 学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52759079</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52759079</guid><author>lavender21</author><pubDate>Sat, 08 Oct 2016 17:32:25 +0800</pubDate><description><![CDATA[flex布局又叫做弹性布局，任何一个容器都可以定义为flex布局，和以前的用盒模型实现的布局相比更加易用，灵活。.box{
    display:flex;
}
.box{
    display:inline-flex;
}
注：使用flex布局后，子元素的float,clear和vertical-align会失效采用flex布局的元素，称为flex容器（flex container），简称”容]]></description><category></category></item><item><title><![CDATA[仅使用一个局部变量对数组进行排序]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52754812</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52754812</guid><author>lavender21</author><pubDate>Sat, 08 Oct 2016 10:59:43 +0800</pubDate><description><![CDATA[数组排序是经常被问到的一个技术问题。实现这一功能的排序算法有很多，比如冒泡，选择，快排，归并等等。我们经常被问到阐述这些算法，但很少有人这样问：如何在你的算法中仅定义一个局部变量实现数组的排序。
实际上冒泡排序可以实现这一点，传统的冒泡排序需要三个局部变量，一个i变量做索引，一个布尔变量用于判断是否继续排序，一个temp变量用于交换两个值。下面是冒泡排序的代码示例：
function bubb]]></description><category></category></item><item><title><![CDATA[angular学习笔记--服务的三种定义方式]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52754389</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52754389</guid><author>lavender21</author><pubDate>Sat, 08 Oct 2016 10:20:52 +0800</pubDate><description><![CDATA[angularjs 中可通过三种（$provider,$factory,$service）方式自定义服务，以下是不同的实现形式：


// 定义module , module中注入$provide

var starterApp = angular.module('starter.controllers', [],function($provide){

// 第一种方式：使用pro]]></description><category></category></item><item><title><![CDATA[angularjs学习笔记--ng-class的三种使用方法]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52710482</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52710482</guid><author>lavender21</author><pubDate>Fri, 30 Sep 2016 12:02:25 +0800</pubDate><description><![CDATA[在使用原生js时，动态的控制样式的思路就是更换class，而在angularjs中ng-class指令使这一操作变得十分简单。1.通过双向数据绑定demo1js:fonction changeClass () {
    $scope.className = "change";
}html:
<div ng-class="{{className}}" ></div>css:
.change {]]></description><category></category></item><item><title><![CDATA[文章标题]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52578908</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52578908</guid><author>lavender21</author><pubDate>Sun, 18 Sep 2016 22:48:57 +0800</pubDate><description><![CDATA[angularjs 开发思路总结最近学习并使用了angularjs这一强大的开源框架。在项目开发过程中也慢慢接受并熟悉了用angularjs开发前端。angularjs是由谷歌的前端大牛开发的一个js框架，刚开始学习时有些难入门，随着对其机制的了解和使用会越来越觉得这个框架十分好用，可以把我们从如何去组织前台页面js代码的繁琐工作中解放出来，而全心的投入到业务逻辑当中。这一点在js代码多且复杂的大项]]></description><category></category></item><item><title><![CDATA[angularjs学习笔记--服务]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/52047805</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/52047805</guid><author>lavender21</author><pubDate>Wed, 27 Jul 2016 17:42:49 +0800</pubDate><description><![CDATA[angularjs学习笔记--服务
今天初步了解了angularjs中的服务，服务是一个函数或者对象。我们一般调用或直接使用，angularjs有自己内置的服务，也可以自定义服务。
我们为什么要使用服务？其实服务相当于共用部分的一个封装，比如当我们在写控制器的时候，有很多控制器，它们之间有共同的部分，如果每个控制器里都重复这段代码那会显得比较冗余，我们最直接的想法就是把它单独抽离出来，当作一个]]></description><category></category></item><item><title><![CDATA[关于ajax的异步同步问题]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51932589</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51932589</guid><author>lavender21</author><pubDate>Sun, 17 Jul 2016 15:38:49 +0800</pubDate><description><![CDATA[关于ajax的异步同步问题


之前一直对于ajax同步和异步不是很理解，直到在实践中遇到问题才明白这是怎么一回事。那么就根据这个实际的问题来说说自己对ajax异步与同步的理解。
问题的起因是这样的，在做一个项目当中有这样一个需求：网站上的一些链接有内外网显示权限，有些链接当用内网访问时可以点开查看，用外网点开弹出提示说：ip限制。然后取消默认的链接跳转行为。
我的解决思路就是给a标签统]]></description><category></category></item><item><title><![CDATA[angularjs学习笔记--作用域]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51914759</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51914759</guid><author>lavender21</author><pubDate>Fri, 15 Jul 2016 09:30:50 +0800</pubDate><description><![CDATA[angularjs学习笔记--作用域
最近开始学习angularjs.这里记录一些学习笔记。
作用域是视图和控制器的胶水，在应用将视图呈现给用户之前，视图中的模板会和作用域进行连接。
$scope,是一个作用域对象，类似于javascript当中的scope,但又与之不同。作用域可以监视数据模型变化。一般将数据的业务逻辑放在控制器中，将相关的数据放在控制器的作用域中。
$rootscope]]></description><category></category></item><item><title><![CDATA[每天一点数据结构之插入排序]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51585486</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51585486</guid><author>lavender21</author><pubDate>Sat, 04 Jun 2016 18:14:07 +0800</pubDate><description><![CDATA[每天一点数据结构之插入排序

最近没有好好写博客了，接下来又有几门考试就隔几天更新一下吧~


今天学习了插入排序，是排序中很简单的一种，效率不是很高。但比较稳定。主要思想是,遍历一遍数组，将数组集合分为R[0]~R[i]和R[i+1]~R[n]两个，前者是排好序的有序集合，后者是乱序的。每次将R[i+1]个和前面排好序的关键字依次进行比较，从而找到R[i+1]应该插入的位置j，并将R[]]></description><category></category></item><item><title><![CDATA[nodejs之初识模块化]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51514074</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51514074</guid><author>lavender21</author><pubDate>Fri, 27 May 2016 11:44:58 +0800</pubDate><description><![CDATA[nodejs之初识模块化

     学习前端有一段时间了，javascript的基础也已经掌握，于是决定开始学习nodejs。


首先来说说为什么要使用模块化，当脚本文件很多，并且有复杂的依赖关系的时候就很容易出现一些变量的属性或方法被覆盖或改写，导致变量污染。这是因为js没有命名空间，不像其他语言通过命名空间可以有效的避免重名问题，所以就引入了模块化这一概念。将函数和方法包含在不同]]></description><category></category></item><item><title><![CDATA[每天一点数据结构之二叉树的查找和删除]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51508365</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51508365</guid><author>lavender21</author><pubDate>Thu, 26 May 2016 16:24:26 +0800</pubDate><description><![CDATA[每天一点数据结构之二叉树的查找
一.二叉树的查找我将它分为两类，一类是满足左子树的值小于根小于右子树，那么可以根据这个特性去查找会比较高效。
从根节点开始查找，如果当前值等于根则返回，如果小于根则沿左子树继续查找，如果大于根则沿右子树继续查找，直到找到为止，否则返回null。
BinaryTree.prototype.searchBalanceTree = function (data)
{]]></description><category></category></item><item><title><![CDATA[每天一点数据结构之二叉树的插入与创建]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51498192</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51498192</guid><author>lavender21</author><pubDate>Wed, 25 May 2016 14:32:48 +0800</pubDate><description><![CDATA[每天一点数据结构之二叉树的插入与创建
二叉树的插入：
1.判断树是否为空，如果为空则直接插入当前结点成为根结点
2.若根不为空，则判断是否小于根
3.小于根插入左子树
4.大于根插入右子树
5.以此循环下去，插入完成退出
  
//二叉树的插入
BinaryTree.prototype.insert = function(data)
{
    //在这里写入代码
    var ]]></description><category></category></item><item><title><![CDATA[每天一点数据结构之二叉树非递归遍历]]></title><link>https://blog.youkuaiyun.com/lavender21/article/details/51487853</link><guid>https://blog.youkuaiyun.com/lavender21/article/details/51487853</guid><author>lavender21</author><pubDate>Tue, 24 May 2016 10:00:54 +0800</pubDate><description><![CDATA[用js实现的二叉树非递归遍历
即使是做前端，发现自己的数据结构还是很薄弱，所以每天学习一点数据结构吧！今天学习了二叉树的非递归遍历。
     一：先序遍历
     主要思路：通过栈来解决，先序遍历是根左右的顺序，由根节点沿左子树一直遍历下去，在遍历过程中每遇到一个结点就将其内容输出并将该结点压入栈中。当没有左子树时就将这个结点弹出栈，并从这个结点的右子树继续向下遍历。
上代码~
fu]]></description><category></category></item></channel></rss>