<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[learninginJAVA的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/learninginJAVA</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; learninginJAVA]]></copyright><item><title><![CDATA[Backbone系列：todo的demo]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49716949</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49716949</guid><author>learninginJAVA</author><pubDate>Sun, 08 Nov 2015 16:29:33 +0800</pubDate><description><![CDATA[概述
todo的思想是：Model作为每个todo项的模型，而且每个todo项与一个TodoView关联（只渲染li的视图）。最后在AppView上监听整个todo的变更，触发对应的事件
step1
首先我们从只有简单的添加功能的todo做起
var Todo = Backbone.Model.extend({
	// 这里不定义也可以，不过以后和Collection的create方法配合]]></description><category></category></item><item><title><![CDATA[Backbone系列：Collection的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49632789</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49632789</guid><author>learninginJAVA</author><pubDate>Sat, 07 Nov 2015 10:05:51 +0800</pubDate><description><![CDATA[本章通过Collection与View的配合，渲染出多个view
在线demo：Collection的学习


构建一个Model类
首先我们需要构建一个Model类，可以有对应的默认属性

var Book = Backbone.Model.extend({
    defaluts: {
        name: '名字',
        rank: '排名',]]></description><category></category></item><item><title><![CDATA[Backbone系列：Model的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49531607</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49531607</guid><author>learninginJAVA</author><pubDate>Sat, 31 Oct 2015 12:03:51 +0800</pubDate><description><![CDATA[Model的学习
本章通过完成单向数据绑定的demo，以此学习Backbone的Model模块
在线demo：单向数据绑定


设置属性值
我们可以在构建Model类的时候，定义其属性值。
var Echo = Backbone.Model.extend({
    defaults: {
        word: '请输入'
    },
    initialize: func]]></description><category></category></item><item><title><![CDATA[Backbone系列：Router的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49530883</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49530883</guid><author>learninginJAVA</author><pubDate>Sat, 31 Oct 2015 11:19:14 +0800</pubDate><description><![CDATA[Router的学习
本章通过定义简单的路由规则，学习Router
在线demo：router学习


Backbone的路由会监听URL的"#"后面的部分var App = Backbone.Router.extend({
    // 定义路由、动作的键值对，注意路由前面没有"/"
    // *表示通配，会匹配多个url组件
    routes: {
        '*acti]]></description><category></category></item><item><title><![CDATA[Backbone系列：View的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49520837</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49520837</guid><author>learninginJAVA</author><pubDate>Fri, 30 Oct 2015 23:55:46 +0800</pubDate><description><![CDATA[View的学习
本章会通过一个简单的搜索框的demo，学习View模块和View的事件属性


前面我们已经知道initialize()方法会在实例化Model时执行，而View和Collection也有对应的方法，所以我们可以在此方法里定义一些动作。如：

var App = Backbone.View.extend({
    initialize: function() {]]></description><category></category></item><item><title><![CDATA[Backbone系列：简单的helloworld页面]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49519105</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49519105</guid><author>learninginJAVA</author><pubDate>Fri, 30 Oct 2015 22:53:52 +0800</pubDate><description><![CDATA[非常简单的定义一个Model类
首先让我们以经典的hello world作为Backbone的入门
var App = Backbone.Model.extend({
    // 通过defaults定义实例属性
    defaults: {
        say: 'hello world!'
    },
    // initialize是在构造函数被实例化的时候调用
    in]]></description><category></category></item><item><title><![CDATA[Bootstrap插件carousel源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49388027</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49388027</guid><author>learninginJAVA</author><pubDate>Sat, 24 Oct 2015 23:43:04 +0800</pubDate><description><![CDATA[使用说明
轮播的HTML结构可以分为：容器、项目符号、轮播单元、左右的箭头


容器：需要data-ride="carousel"用于初始化；对应的id或class作为子元素的目标项目符号：需要在"carousel-indicators"的容器中；data-target或href指向容器；data-slide-to指向对应的轮播单元；需要有"active"类保证在一开始就激活单元：需要"i]]></description><category></category></item><item><title><![CDATA[Bootstrap插件collapse源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49386815</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49386815</guid><author>learninginJAVA</author><pubDate>Sat, 24 Oct 2015 18:28:18 +0800</pubDate><description><![CDATA[使用说明
手风琴插件可以分为两部分：可点击的标题区，和展现的内容区


标题区，需要定义data-toggle="collapse"和data-parent="#example"（即包含他们的容器），还有data-target或href指向的内容区内容区，需要id或class与标题区定义的一致。添加"collapse"类来默认隐藏该内容区。如果需要在一开始就显示就添加"collapse i]]></description><category></category></item><item><title><![CDATA[Bootstrap插件modal源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49245651</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49245651</guid><author>learninginJAVA</author><pubDate>Tue, 20 Oct 2015 22:55:08 +0800</pubDate><description><![CDATA[使用说明
两部分需要定义：


模态框的触发元素，需要data-toggle="modal"，以便被初始化；需要data-target="#example"或href指定模态框模态框，模态框容器需要与data-target对应的类或id，其内容部分可以用"modal-content"的类来美化样式

  触发按钮


  
    
      title]]></description><category></category></item><item><title><![CDATA[Bootstrap插件transition源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49232379</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49232379</guid><author>learninginJAVA</author><pubDate>Sun, 18 Oct 2015 23:03:56 +0800</pubDate><description><![CDATA[使用说明
主要是用于


自定义transitionEnd方法，判断是否支持过渡结束事件定义jquery的原型方法emulateTransitionEnd，保证在过渡效果完成后，一定触发transitionEnd
初始化



在dom树加载完后，自定义bsTransitionEnd事件

$(function () {
  // 储存当前浏览器是否支持，若支持是支持哪种tr]]></description><category></category></item><item><title><![CDATA[Bootstrap插件dropdown源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49231091</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49231091</guid><author>learninginJAVA</author><pubDate>Sun, 18 Oct 2015 22:35:16 +0800</pubDate><description><![CDATA[使用方法
有含有"dropdown"类的容器里面包含下拉触发器（按钮，或链接等），和下拉框的内容


下拉触发器必须包含"data-toggle=dropdown"的属性。可以用data-target或href指定包含下拉框的容器，如果没有，则从其父元素内找下拉框内容必须有"dropdown-menu"的类

  点击
  
    item1
    item1
    item3]]></description><category></category></item><item><title><![CDATA[Bootstrap插件scrollspy源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49226863</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49226863</guid><author>learninginJAVA</author><pubDate>Sun, 18 Oct 2015 18:29:16 +0800</pubDate><description><![CDATA[使用方法
可以分为nav（导航区）和content（滚动区）
Plugin入口分析
/**
 * 把[data-spy="scroll"]的dom元素，及元素property上的参数传给ScrollSpy构造函数
 * @param {object} option 之前绑定在元素上的property对象
 *                        自定义的包含指定content的对象]]></description><category></category></item><item><title><![CDATA[Bootstrap插件tab源码的学习]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49185617</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49185617</guid><author>learninginJAVA</author><pubDate>Fri, 16 Oct 2015 22:57:57 +0800</pubDate><description><![CDATA[使用方法
可以分为Tab区和Content区。


Tab区为列表，要求带有"nav nav-tabs"或"nav nav-pills"两种类名。下的标签要求带有data-toggle="tab"属性，可以通过data-target或href指定对应的ContentContent区要求带有"tab-content"类名，每个面板要求有"tab-pane"类名以及Id（即Tab里指定的tar]]></description><category></category></item><item><title><![CDATA[Bootstrap各JavaScript插件的概述]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49184637</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49184637</guid><author>learninginJAVA</author><pubDate>Fri, 16 Oct 2015 22:39:18 +0800</pubDate><description><![CDATA[都定义Plugin函数
目前来看，定义Plugin是为了作为jquery的原型方法，可以作为jquery对象初始化的入口。
function Plugin(option) {
  return this.each(function () {
    var $this = $(this)
    var data  = $this.data('bs.tab')

    if (!data)]]></description><category></category></item><item><title><![CDATA[利用DOMContentLoaded判断DOM是否加载完毕]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/49046025</link><guid>https://blog.csdn.net/learninginJAVA/article/details/49046025</guid><author>learninginJAVA</author><pubDate>Sun, 11 Oct 2015 10:46:14 +0800</pubDate><description><![CDATA[概述
浏览器提供一个document.onload事件，但这是页面的全部数据都加载完毕，如果页面有太多图片的话，事件要等很久才触发。如果能在DOM树构建完毕就开始动作就会快很多。
核心思想


IE8以下的版本可以通过检查document.documentElement.doScroll('left')是否报错来判断IE8支持onreadystatechange事件，每当document]]></description><category></category></item><item><title><![CDATA[变量对象VO的学习笔记]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/48930165</link><guid>https://blog.csdn.net/learninginJAVA/article/details/48930165</guid><author>learninginJAVA</author><pubDate>Tue, 06 Oct 2015 11:00:45 +0800</pubDate><description><![CDATA[变量对象VO的填充顺序


函数参数：若未传入，初始化该参数值为undefined函数声明：提升声明和赋值。若发生命名冲突（如传入的参数有同名的变量，或arguments）会覆盖

变量声明：初始化变量值为undefined，若发生命名冲突，会忽略（即不会覆盖他的值为undefined）
function app(arg1, arg2) {
	function arguments()]]></description><category></category></item><item><title><![CDATA[javascript中bind()函数实现和应用以及多次bind的结果和参数位置的思考]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/48914751</link><guid>https://blog.csdn.net/learninginJAVA/article/details/48914751</guid><author>learninginJAVA</author><pubDate>Mon, 05 Oct 2015 16:41:43 +0800</pubDate><description><![CDATA[概述
在ECMA-262第五版引入了bind()方法，该方法创建一个新函数。
语法
fn.bind(context[, arg1[, arg2[, ...]]])第一个参数context将成为返回的新函数的this对象
第二个及以后的参数加上绑定函数运行时本身的参数按照顺序，将作为新函数的擦书
实现原理
Function.prototype.bind = function (conte]]></description><category></category></item><item><title><![CDATA[JavaScript中的this学习笔记]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/48784285</link><guid>https://blog.csdn.net/learninginJAVA/article/details/48784285</guid><author>learninginJAVA</author><pubDate>Mon, 28 Sep 2015 14:31:02 +0800</pubDate><description><![CDATA[《JavaScript中this关键字详解》
this指向函数执行时的当前对象，而与声明环境无关
var someone = {
    name: "Bob",
    showName: function(){
        alert(this.name);
    }
};
var other = {
    name: "Tom",
    showName: someone.sh]]></description><category></category></item><item><title><![CDATA[JavaScript中闭包的学习笔记]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/48784179</link><guid>https://blog.csdn.net/learninginJAVA/article/details/48784179</guid><author>learninginJAVA</author><pubDate>Mon, 28 Sep 2015 14:21:17 +0800</pubDate><description><![CDATA[《深入理解javascript原型和闭包》



原型

对象是函数创建的

var ob = new Object(); // 可以看出，其实对象是由函数创建的 函数（也是对象啦）是Function创建的

var fn = new Function(参数0[, 参数N], 函数体); 

函数是属性的集合（即也是对象）

每个函数都有个prototype属性，指向原]]></description><category></category></item><item><title><![CDATA[JavaScript中作用域的学习笔记]]></title><link>https://blog.csdn.net/learninginJAVA/article/details/48784025</link><guid>https://blog.csdn.net/learninginJAVA/article/details/48784025</guid><author>learninginJAVA</author><pubDate>Mon, 28 Sep 2015 14:13:32 +0800</pubDate><description><![CDATA[《高级程序设计》




作用域的前端，始终是当前的执行的代码所在的执行环境的变量对象作用域与定义时的环境有关，而不是执行时的环境




《鸟哥：JavaScirpt作用域原理》

JavaScript中的函数运行在它们被定义的作用域里，而不是被执行的作用域里scope chain(作用域)

一个函数被定义时，会将它定义时刻的scope chain(作用域)链接到函]]></description><category></category></item></channel></rss>