eslint是一个javascript代码静态检查工具,可以检查javascript的语法错误,提示潜在的bug,可以有效提高代码质量,维持前端团队高度一致的编码风格。ESLint不但提供一些默认的规则,也提供用户自定义规则来约束所写的javascript代码。
1,clone kurento-tutorial-js
# git clone https://github.com/Kurento/kurento-tutorial-js.git
如果clone比较慢,直接下载zip
js 回调函数大致有以下三种用法,
1,直接回调
2,call回调
3,apply回调
回调函数作用得当,减少代码冗余,代码可读性增强,代码维护也轻松很多。
什么要用到回调函数呢?
当有很多地方需要调用同一个函数,并且这一函数根据不同的需要,作不同的处理,这个时候用回调函数就特别合适了。
用jquery,mouseout,mouseover,随着鼠标移动,事件被触发了多次,换成js onmouseover,onmouseout也是一样。最终的解决办法是,用jquery,mouseleave代替mouseout;mouseenter代替mouseover。
mouseleave,mouseenter鼠标离开,进入最外层标签时触发事件。
mouseout,mouseover鼠标离开,进入里面标签时触发事件。
json对象,json字符串,不注意的话,很容易忽视混淆。例举几个容易混的情况
1,php将变量放到input框中,通过js去读取出来的是json字符串,要想使用就要将json字段串转成json对象
2,ajax返回json数据,如果请求没有设置dataType为json,这个时候得到也是json字符串
3,通过js改变input的value值,如果直接json对象,赋值的话,用开发者工具看到的值会是这样的,[Object Object]
grunt是一套前端自动化工具,一个基于nodeJs的命令行工具,功能非常强大。对于前端js,css打包,压缩还是很重要,不光减少带宽,还能减少http请求,下面实例说明怎么用。
如果用jquery append直接加载script标签的话,会报错的。除了document.write外,还有没有其他的比较好的动态加载js文件的方法。
前面提到了angularjs的factory,service,provider,这个可以理解成php的model,这种model是不带html的,今天所说的directive,也可以理解成php的model,也可以理解成插件,只不过这种model是带html的,例如:php的分页函数。
angularjs框架学了有一段时间了,感觉很好用。可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了。angularjs的内置服务多,例如:$scope,$rootScope,$http,$q,$resource,$routeProvider等等,下面来说一下怎么自定义服务
scope是html和单个controller之间的桥梁,数据绑定就靠他了。rootscope是各个controller中scope的桥梁。用rootscope定义的值,可以在各个controller中使用。下面用实例详细的说明一下。