zepto 源码阅读记录

来源:互联网 发布:java数组声明 编辑:程序博客网 时间:2024/05/22 10:29

    • 前言
    • camelCase str
    • eacharrcallback

前言

只会记录一下学习各种方法时的收获

$.camelCase (str)

将一组字符串变成“骆驼”命名法的新字符串,如果该字符已经是“骆驼”命名法,则不变化

return str.replace(/-+(.)?/g, function(match, chr) {  // str = ‘hello-tree’   return chr ? chr.toUpperCase() : ''})

很巧妙地运用了()分组和replace的用法,()匹配exp,并捕获文本到自动命名的组里 replace返回参数,第一个返回匹配的字符-t, 之后的参数返回分组匹配的值t

$.each(arr,callback)

 $.each = function(elements, callback) {    var i, key    if (likeArray(elements)) {      for (i = 0; i < elements.length; i++)        if (callback.call(elements[i], i, elements[i]) === false) return elements    } else {      for (key in elements)        if (callback.call(elements[key], key, elements[key]) === false) return elements    }    return elements  }

判断是不是数组,return typeof obj.length == 'number'
typeof 返回类型,除了null特别一点返回object,其他number就number
而具有length属性的只有数组,字符串用于区分遍历方式,for语句和for in语句,然后用callback.call返回元素(数组有索引,对象有键值)
if (callback.call(elements[i], i, elements[i]) === false) 回调函数一旦返回false,则跳出遍历,并且无论任何情况都返回原始elements

原创粉丝点击