• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 








每日三省吾身
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

12 2011 档案

 
Sizzle.js分析
摘要:注:分析的是Sizzle.js最新版本(截至2011-12-21)1. chunker那段表达式:varchunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^>+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g先可以分为3大段:((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['&q 阅读全文
posted @ 2011-12-21 15:06 渔樵耕读2017 阅读(1333) 评论(0) 推荐(0)
如果判断function的调用者?
摘要:结合this、arguments.callee、function.caller可以判断出function的3种调用方式:functionFoo(){//如果this引用的构造函数是arguments.calle引用的对象//说明是通过new操作符执行的构造函数if(this.constructor==arguments.callee){alert("ObjectCreated");}//如果this是window,那么是全局调用elseif(this==window){alert("Normalcall");}else//否则是作为其他对象的方法来调用{ 阅读全文
posted @ 2011-12-15 16:12 渔樵耕读2017 阅读(290) 评论(0) 推荐(0)
另类递归
摘要:var memoizer = function (memo, fundamental) { var shell = function (n) { var result = memo[n]; if (typeof result !== 'number') { result = fundamental(shell, n); memo[n] = result; } return result; }; return shell; }; var fibonacci = memoizer([1, 1], function (shell, n) { ... 阅读全文
posted @ 2011-12-09 18:01 渔樵耕读2017 阅读(150) 评论(0) 推荐(0)