关于全局变量。
Js定义的变量默认都会放到window下,window下还会放一些浏览器自己的变量。当要使用某个变量时,浏览器会去window下去查找。当变量(包括方法)声明了很多时,查找效率会越来越慢。优秀的设计一般都是定义一个全局变量,其他变量采用命名空间的方式挂到这个变量下面。比如网站可以定义一个名叫XXX的全局变量,下面可以按照模块设计各个变量和方法。比如有一个金额验证地方法,就可以放到XXX.Money.validate(money)下。
关于方法的传参。
由于设计会进行修改,一些方法的参数有可能会出现不断的变动,有些参数又不是必须传递的,故会出现调整接口导致的全局搜索修改方法。有一种设计是把参数包装成一类一类的对象,再通过对象的属性类传递。比如有一个方法open(),他需要业务对象,业务类型,动画类型,动画时间,动画回调方法,动画回调方法参数,是否有动画等参数。这样就可以把参数设计成两个。第一个是业务类参数,包括业务对象,业务类型;第二个是动画参数,包括动画类型等其他参数。这样设计有一个缺陷,就是不许约定好对象中属性的名称与对应的作用。
关于json对象级联取值。
对对象级联进行取值时,容易出现undefined错误。解决方法是在一个方法中通过try...catch...进行处理,如果出现undefined错误就放回默认值。这样有一个缺陷就是代码可阅读性下降。
关于jquery对象
关于ajax请求
关于动画和ajax同时存在导致的动画不连贯
关于回调方法
关于第三方组件
Jquery
hover!= mouseover+mouseout(Ie下会出现闪烁的情况)
hover=mouseenter + mouseleave
Form
弹出层
History
Validate
Tip
artTemplate
界定符与常用符号冲突时,无法再模板中便无法使用该常用符号。
Jframe (是否可以被load方法取代)
Amcharts
如果饼图生成的区域所提供的高宽与饼图本身相差不大,在360浏览器下面会有细线在改区域周围,可以使用在该区域上增加padding属性来解决
Es
通过修改样式和部分js,可以实现现有的部分下拉列表的效果,且支持键盘操作
JqueryUi
自定义导入中使用到,某些操作的时候在IE下面会有bug,需修改源文件
Calculator
基本上样式都可以进行修改,但是在IE6下向左的那个箭头显示不了
My97DatePicker
调用WdatePicker()方法时,必须要传ID,否则在opera下面触发器无效,且目前的控件在opera下存在点击确定无法隐藏的bug
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于