今天看了vue.js源码  发现非常不错,想一边看一遍写博客和大家分享

/**
* Convert a value to a string that is actually rendered.
 *转换一个值为字符串
*/
function _toString (val) {
return val == null? '': typeof val === 'object'? JSON.stringify(val, null, 2): String(val)
//如果该值是null则返回空字符串,如果该值为对象,则返回json字符串,否则把对象的值转化为字符串
//知识点:JSON.stringify(val, null, 2),String(val)
} 

  

/**
* Convert a input value to a number for persistence.
* If the conversion fails, return original string.转化一个输入值为一个数字,如果转换失败,则返回原始的字符串
*/
function toNumber (val) {
var n = parseFloat(val);
return isNaN(n) ? val : n//判断n是不是 不是数字,如果不是数字则返回字符串,如果是则返回转换好的数字
}

/**
* Remove an item from an array//从数组删除一个元素
*/
function remove (arr, item) {
if (arr.length) {
var index = arr.indexOf(item);//获取元素的位置
if (index > -1) {//如果元素存在
return arr.splice(index, 1)//从数组中删除并且返回这个元素
}
}
} /**
* Check whether the object has the property.//检查对象中是否有这个属性
*/
var hasOwnProperty = Object.prototype.hasOwnProperty;//从对象的原型中获取hasOwnProperty这个方法 function hasOwn (obj, key) {
  return hasOwnProperty.call(obj, key)
}
 

vue.js源码学习分享(一)的更多相关文章

  1. vue.js源码学习分享(九)

    /* */ var arrayKeys = Object.getOwnPropertyNames(arrayMethods);//获取arrayMethods的属性名称 /** * By defaul ...

  2. vue.js源码学习分享(七)

    var _Set; /* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { // use ...

  3. vue.js源码学习分享(六)

    /* */ /* globals MutationObserver *///全局变化观察者 // can we use __proto__?//我们能用__proto__吗? var hasProto ...

  4. vue.js源码学习分享(八)

    /* */ var uid$1 = 0; /** * A dep is an observable that can have multiple * directives subscribing() ...

  5. vue.js源码学习分享(五)

    //配置项var config = { /** * Option merge strategies (used in core/util/options)//选项合并策略 */ optionMerge ...

  6. vue.js源码学习分享(四)

    /** * Generate a static keys string from compiler modules.//从编译器生成一个静态键字符串模块. */ function genStaticK ...

  7. vue.js源码学习分享(三)

    /** * Mix properties into target object.//把多个属性插入目标的对象 */ function extend (to, _from) { for (var key ...

  8. vue.js源码学习分享(二)

    /** * Check if value is primitive//检查该值是否是个原始值 */ function isPrimitive (value) { return typeof value ...

  9. Vue.js 源码学习笔记

    最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...

随机推荐

  1. iOSAES加密的实现

    +(NSData *)AES256ParmEncryptWithKey:(NSString *)key Encrypttext:(NSData *)text  //加密 { char keyPtr[k ...

  2. cocos2dx 加密spine文件遇到的问题(暂时没有解决方法)

    今天我研究了一下加密spine动画的加密的方法,图片肯定要加密的,所以我只选择加密图片,另外的一个altas文件和json文件就不做加密打算. 我的思路是通过TexturePacker打包成加密的文件 ...

  3. 函数的扩展——箭头函数this的使用

    箭头函数中的this指向的是定义时的this,而不是执行时的的this . 举例: 案例中,我们的obj对象中有一个属性x和一个属性show( )方法,show( )通过this打印出x的值,结果是u ...

  4. SSL免费证书申请以及nginx配置https流程记录

    设置https需要ssl 证书,可以通过FreeSSL[https://freessl.org/]申请. 流程记录: 输入域名,如 http://www.youdias.xin 选择品牌,如Let's ...

  5. chrome浏览器跳过(忽略)所有的js断点

    在调试程序时我们经常通过打断点的方式来跟踪代码的执行流程,所以可能会在很多时候打很多断点,当我们知道了程序大概的执行流程之后,这时候断点就不太需要了.但是我们又不想马上把所有的断点清除掉,因为我们打的 ...

  6. ultraedit编辑器破解版下载

    ultraedit一款功能丰富的网站建设软件,需要的朋友可以看看. 百度百科:UltraEdit 是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII 码,完全可以取代记事本(如果电脑配置足 ...

  7. The 2018 ACM-ICPC China JiangSu Provincial Programming Contest I. T-shirt

    JSZKC is going to spend his vacation! His vacation has N days. Each day, he can choose a T-shirt to ...

  8. Linux学习-什么是登录档

    CentOS 7 登录档简易说明 登录档的重要性 为什么说登录文件很重要, 解决系统方面的错误: 用 Linux 这么久了,你应该偶而会发现系统可能会出现一些错误,包括硬件捉不到或者是某些系 统服务无 ...

  9. Appscan安全漏洞扫描使用(转)

    这里主要分享如何使用AppScan对一大项目的部分功能进行安全扫描. ----------------------------------------------------------------- ...

  10. 24、AES RSA加密处理记录

    一.加密过程解释 前提:发送方为A,接受方为B牢记:RSA为非对称加密,AES为对称加密.对称加密,属于传统的加密技术,加密和解密的秘钥都是相同的,AES的秘钥长度有128.192.256三种.非对称 ...