- 只要是用户输入的地方,都要去除空格
- IE10以下浏览器GET方式请求接口参数不变,会出现缓存,造成请求结果不对,它们好像把接口也当成普通http链接了,解决办法参数加一个时间戳
- BEM命名 可以解决取名字难得问题,只要有一个顶层的block名字,就用“-”一直往下排,不可再分的时候就用“_”,表示状态用“—”
- 使用constructor是一个好的习惯,确保通过这个属性获得适当的值
- :root支持IE8以上标准浏览器,可以用来覆盖为IE7写的的样式以解决兼容性,比如IE的filter透明
- 在IE7中,兄弟节点有绝对定位,会影响margin,修复办法,用div包裹起来,或者把绝对定位的元素放到后面
- 如果在一个函数里面绑定事件,好的习惯应该是先移除事件再绑定,避免多次执行函数而多次绑定事件
- opacity和rgba都可以设置透明度,其中opacity设置的透明度会影响子元素,而rgba不会
- 在JavaScript中纯字符串应该使用双引号
- 注释声明有这几种,TODO代码未完成,HACK表明代码实现走了一个捷径,XXX代码有问题应尽快修复,FIXME需要修复,问题严重性次于XXX,REVIEW任何改动需要评审
- e.target触发事件的对象,e.currentTarget绑定事件的对象,this同e.currentTarget
- shift删除数组第一个元素,pop删除数组最后一个元素,unshift在数组第一个之前添加元素
- 使用cors(Cross-origin resource sharing)跨域,请求的url需使用绝对路径,也就是说需要带上域名
- AJAX超时原理,原来是发送请求后,追加一个定时器(setTimeout),多少秒后执行里面的回调函数(也就是超时函数)。(其中IE8的XMLHttpRequest对象有timeout属性,和ontimeout事件)
- 数据即视图,也不是每个地方都得这样,只有视图频繁的从不同入口改变,这样用才适合
- jQuery应该算是一个优化dom操作的工具库,框架(redux)应该是引导程序员使用设计模式编写代码
- 当失去焦点(blur)和另一个事件(如click)有冲突的时候,如果你想先执行blur,就把绑定blur的函数写在前面
- IE7不支持display:inline-block,可以这样写[display:inline-block;*display:inline;zoom:1;]
- append字符串的时候,标签一定要成对出现,否则,ie8以下解析不了
- 代码里面一定不要留console,IE7/8/9都不认识它
- IE7/8格式化日期new Date()参数必须还是标准格式”2016-02-18”是不对的,应该是”2016/03/18”
- vi常用命令,i进入编辑模式,ESC退出编辑模式,:x保存退出
- 发现gulp已经很好用了,加上了watch,然后sourcemap
- 微信ajax请求http==0,可以试试用post请求
- 动态生成的href=“javascript:;” 安卓下,点击会出问题,可用href=“javascript:void(0);“代替
- 浮动的行内元素也可以设置宽高(比如a标签)
- reutn false只会终止本函数的执行
- JavaScript有3种原始类型,布尔型,数值型,字符串,原始类型按值传递,其它按引用传递
- label标签的for属性很好,可以指代另一个标签的ID 如:
<label for="di"><p id="di"></p>,点击label就相当于点击了p标签
随笔
编辑文章
分享这篇文章:
评论
使用 GitHub 账号登录后即可评论