陈材华
陈材华
[目前还没有浏览器支持这个属性](http://caniuse.com/#search=grid) [查看详细介绍](https://css-tricks.com/snippets/css/complete-guide-grid/)
个人在一次面试中碰到了RT的笔试问题,当时给出的答案是 - 成熟 - 稳定 - 学习成本低 - 开发效率高 - 可扩展性好 - 性能好 ## 成熟 一个好框架需要有一个成熟的社区,成熟的配套插件,成熟的开发模式。 ## 稳定 一个好框架必须有一个可用于生产环境的的版本,持续的更新迭代,一致的api设计和文档等等 ## 学习成本低 一个好框架要具体高度的推广性,提供低成本的学习途径,可以快速的让整个团队成员掌握并熟练运用 ## 开发效率高 一个好框架必须具备能使得团队合作的开发效率有更高的提升,有更好的编码风格引导 ## 可扩展性好 一个框架必须要有高度的可定制化,可扩展性,满足未知的需求。 ## 性能好...
发布在掘金的 #108 前端框选择,1天的时间很意外的收获了28个收藏,1600+的阅读
> 在nodeJS中,有3个开启定时器的函数,分别是setTimeout, setInterval, setImmediate; 在加上noTickde的process.nextTick,一共提供了4种异步执行代码的方式,有什么区别呢? ## 执行顺序 ### 首先通过代码来分析 ``` javascript setTimeout(function(){ console.log('setTimeout 1') }) process.nextTick(function(){ console.log("nextTick延迟执行2"); }); process.nextTick(function(){ console.log("nextTick延迟执行1"); }); setImmediate(function(){ console.log("setImmediate延迟执行2"); }); //加入两个setImmediate()回调函数 setImmediate(function(){ console.log("setImmediate延迟执行1"); process.nextTick(function(){ console.log("强势插入"); });...
https://zhuanlan.zhihu.com/p/20814761
> 今天看几篇css modules的介绍文章,特别是[css modules的几种技术方案](https://github.com/zhouwenbin/blog/issues/15),在自己的小项目中赶紧体验了一把,采用了underscore模板 ### 经过测试,文章中的使用方式存在2个问题, - underscore的如果是单独的文件,不能使用哪个方法,必须在引入模板的JS文件中引用css - ${..} 不是标准传参方式 ### 另外有几个注意点 - 引入css module 后,所有的css文件都要用css module 方式,不能混用,否则样式会有问题 - 如果想要期中几个css文件不被css module编译,请配置exclude路径排除。 - 所有css样式最好不要用上下层级关系,用独立的css命名 - css命名建议采用驼峰命名方式 - css选择器名称或层级关系不能有特殊符号,比如: - >...
``` javascript function fetchComputedStyle(element, property) {//定义新函数 if (window.getComputedStyle) { var computedStyles = window.getComputedStyle(element);//获取接口 if (computedStyles) { property = property.toLowerCase(); return computedStyles.getPropertyValue(property); } } else if (element.currentStyle) {//使用专有方式,IE浏览器 property = property.replace(/-([a-z])/ig,...
[F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案](https://github.com/alibaba/f2etest)
很多时候,数字显示的时候需要转换成千分位‘,’间隔;往往一般都是写一段算法来实现这个功能; 其实JS原生就是支持这么做的 ``` javascript //数字直接量 var num=123456789; nun.toLocaleString() //123,456,789 //或者是这样 123456789..toLocaleString() //123.456.789 //如果是输入框的内容 var s=$('').val() (+s).toLocaleString() ``` 这样是不是简单很多 把数字转换成中文也可以用toLocaleString来实现; ``` javascript //带逗号间隔 123456789..toLocaleString('zh-Hans-CN-u-nu-hanidec') //一二三,四五六,七八九 //不带逗号间隔 123456789..toLocaleString('zh-Hans-CN-u-nu-hanidec',{useGrouping:false})//一二三四五六七八九 ```
## 调用范例 ``` javascript var booksInfo=[]; var picker=$.timePicker({ selected:curSelected, changeDay:function(day){ var info=booksInfo[day]||['15:00','17:00','21:00']; if(info){ mockBooksInfo(info); }else{ getBooksInfo(day); } function mockBooksInfo(info){ $.each(info,function(i,n){ $('.pick-time[data-value="'+n+'"]').addClass('booked').append('预约'); }); } } },function(){ curSelected=picker.getDay()+' '+picker.getTime(); console.log(curSelected) }); ```...