网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月29日漏签0天
javascript吧 关注:269,156贴子:906,475
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 3回复贴,共1页
<<返回javascript吧
>0< 加载中...

分享一个自制仿 js 框架,

  • 取消只看楼主
  • 收藏

  • 回复
  • _moe
  • for
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我一直认为,能写一个小 jq 框架的话,基本上前端的知识点都能掌握,还有各个浏览器的坑,对提高性能与今后的代码质量有帮助。我自己进阶了前端的各种技术也是从写框架开始的。
mornjs 是我一年多前的作品,代码在 github 上:github.com/icymorn/morn-js,第一次用 grunt 来组织项目,并且有详尽的代码注释,对个人提高还是蛮多的。刚开始是看《javascript 框架设计》这本,这本入门非常棒。后来就是每写一个功能去看看其他框架是怎么做的,相关坑有哪些。目前压缩后代码有 70+ kb。
框架为 ie6 也提供了一部分 css3 选择器,比如:
morn('tag:odd');
morn('input[type=text]');
morn('tag:first-child');
morn('tag:last-child');
morn('tag > children');
morn('tag').find('selector');
关于兼容 css3 选择器实际上很考验词法解析,那些采用正则或者搜索的方法来做的引擎效率和正确性都不能保证,我当时正好在做 js 语法高亮引擎,正好用上了。
还有一些很有创意的东西,比如矩阵变换的辅助函数。


  • _moe
  • for
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
接上:
morn('dom').matrix().rotate(30).translate(10, 50).scale(0.5).end();
这样做 css3 的变换就很简单啦。
关于处理异步方面,自己写了个 promise,我琢磨了一天,不看任何其他的 promise 实现,当时比较笨,试了好久才做出来:
morn.promise() .then(success, failed) .reject(value) .catch(handleError);


2025-12-29 15:53:11
广告
不感兴趣
开通SVIP免广告
  • _moe
  • for
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
就是这样,代码开源,欢迎添砖


  • _moe
  • for
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
才发现 标题写错了,百度贴吧编辑器太烂,我打一半就按错发出来了。
标题应该是 jq 框架。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回javascript吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示