Vue.js v2.1.10 源码探索 v1.0

Remember to keep it Simple, Stupid.Do one thing and do it best.

首先看下

JSON.stringify(str, replaceor, place)

源码片段 1

    function _toString(val)
   {
          // 排除 null  undefined
          return val == null
                 ? val + ''  // 稍作改动 源码直接输出 ''空字符串
                 :   typeof val === 'object'
                     ? JSON.stringify(val, null, 2);
                     : String(val)
   }

JSON.stringify(val, null, 2);

美化作用,第三个参数决定序列化后键值对前方的空格数
_toString 下划线的命名区分原生的toString

JSON.stringify({key:'Vue'})
//"{"key":"Vue"}"

JSON.stringify({key:'Vue'}, null, 4)
//  "{
//       "key":"Vue"
//   }"


源码片段2: 函数当作值传递

     function map(
              str,
              isToLowercase
     ){
         var list  = str.split(','),
             //创造一个Plainboject 没有原型对象
             map   = Object.create(null),
             i     = 0; 
             for(; i < list.length; i++)
             {
                  map [ list[i] ] = true;
             }
             return  isToLowercase
                     ? function (val) {  return map[ val.toLowercase() ];}
                     : function (val) {  return map[ val ];}
      }      


     //为了判断是否是内置模块
     var isIn  = map('slot,component', true);  

     typeof isIn  // function
     isIn('sea')  // undefined
     isIn('slot') // true

利用了闭包可以访问内部参数 isToLowercase ,
还有就是把函数当作了返回值, 可以再次进行相关属性的判断
精妙

领个红包,小赞赏一下吧

Vue.js源码全方位深入解析最新下载地址.rar Vue.js源码全方位深入,帮你更深入了解vue 第1章 准备工作 介绍了 Flow、Vue.js源码目录设计、Vue.js源码构建方式,以及从入口开始分析了 Vue.js 的初始化过程。 第2章 数据驱动 详细讲解了模板数据到 DOM 渲染的过程,从 new Vue 开始,分析了 mount、render、update、patch 等流程。 第3章 组件化 分析了组件化的实现原理,并且分析了组件周边的原理实现,包括合并配置、生命周期、组件注册、异步组件。 第4章 深入响应式原理(上) 详细讲解了数据的变化如何驱动视图的变化,分析了响应式对象的创建,依赖收 集、派发更新的实现过程,一些特殊情况的处理,并对比了计算属性和侦听属性的实现,最后分析了组件更新的过程。 第5章 深入响应式原理(下) 详细讲解了数据的变化如何驱动视图的变化,分析了响应式对象的创建,依赖收集、派发更新的实现过程,一些特殊情况的处理,并对比了计算属性和侦听属性的实现,最后分析了组件更新的过程。 第6章 -编译(上) 从编译的入口函数开始,分析了编译的三个核心流程的实现:parse -> optimize -> codegen。 第7章 -编译(下) 从编译的入口函数开始,分析了编译的三个核心流程的实现:parse -> optimize -> codegen。 第8章 -扩展(上) 详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。 第9章 -扩展(中) 详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。 第10章 -扩展(下) 详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。 第11章 Vue-Router 分析了 Vue-Router 的实现原理,从路由注册开始,分析了路由对象、matcher,并深入分析了整个路径切换的实现过程和细节。 第12章 Vuex 分析了 Vuex 的实现原理,深入分析了它的初始化过程,常用 API 以及插件部分的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值