前端开发总结(二)

本贴最后更新于 4000 天前,其中的信息可能已经时移世易

关于全局变量。

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


相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...