Vue.js v2.1.10 源码探索 v1.0
来源:互联网 发布:华美网络飞天侠 编辑:程序博客网 时间:2024/04/28 00:10
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 ,
还有就是把函数当作了返回值, 可以再次进行相关属性的判断
精妙
0 0
- Vue.js v2.1.10 源码探索 v1.0
- Vue.js v2.1.10 源码探索 v1.0.1
- Vue.js v2.1.10 源码探索 v1.1.0
- 探索源码方法之Vue
- Vue源码学习——v2.5.8
- Vue.js源码学习
- vue.js 源码解读
- Vue 分页组件 v2.0
- YOLO v1,YOLO v2,YOLO9000算法总结与源码解析
- Vue.js 源码学习笔记
- Drone2Map+Arcgis开发探索v2.0
- Lightbox JS V2.0
- Lightbox JS v2.0
- Lightbox JS v2.0
- Lightbox JS v2.0
- Lightbox JS v2.0
- Drone2Map+Arcgis开发探索v1.0
- util.js v1.0
- RxJava 2.0的基本使用
- 【Linux】rpm常用命令及rpm参数介绍
- tablayout重写点击事件
- 十大Intellij IDEA快捷键
- mySQL错误: The used table type doesn't support FULLTEXT indexes
- Vue.js v2.1.10 源码探索 v1.0
- [Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.
- 配置文件读取类:commons-configuration使用
- javascript中几种页面跳转方式
- hive 优化
- Java String和Date的转换
- UITableView性能优化,超实用
- gulp代码压缩管理工具
- Solr动态加载分词器的自定义词库扩展词库解决方案