- function fn(param1, param2...............paramN)
你必须对应地把每一个参数按照次序传入,不然你的办法就会偏离你预期去履行,精确的办法是下面的做法。
- function fn(json) {
- //为必须的参数设置默认值
- var default = extend({
- param: 'default',
- param1: 'default'
- ......
- },json)
- }
这段函数代码,即便你不传任何参数进来,他也会预期运行。因为在声明的时刻,你会根据具体的营业决定参数的缺省值。
四、可扩大性
软件设计最重要的原则之一:永远不修改接口,指扩大它!可扩大性同时会请求接口的职责单一,多职责的接口很难扩大。 举个栗子:
- //须要同时改变某个元素的字体和背景
- // Nightmare:
- function set(selector, color) {
- document.querySelectroAll(selector).style.color = color;
- document.querySelectroAll(selector).style.backgroundColor = color;
- }
- //无法扩大改函数,如不雅须要再次改变字体的大年夜小的话,只能修改此函数,在函数后面填加改变字体大年夜小的代码
- //Dream
- function set(selector, color) {
- var el = document.querySelectroAll(selector);
- el.style.color = color;
- el.style.backgroundColor = color;
- return el;
- }
- //须要设置字体、背景色彩和大年夜小
- function setAgain (selector, color, px) {
- var el = set(selector, color)
- el.style.fontSize = px;
- return el;
- }
4.可延长
以上只是简单的添加色彩,营业复杂而代码又不是你写的时刻,你就必须去浏览之前的代码再修改它,显然是不相符开放-封闭原则的。修改后的function是返回了元素对象,使得下次须要改变时再次获得返回值做处理。
2.this的应用
可扩大性还包含对this的以及call和apply办法的灵活应用:
1.预感缺点
可以用 类型检测 typeof 或者try…catch。 typeof 会强迫检测对象不抛掉足误,对于不决义的变量尤其有效。
2.抛掉足误
大年夜多半开辟者不欲望掉足了还须要本身去找带对应得代码,最好方法是直接在console中输出,告诉用户产生了什么工作。我们可以用到浏览器的输出api:console.log/warn/error。你还可认为本身的法度榜样留些后路: try…catch。
推荐阅读
智能泊车、长途智能抄表、智能路灯杆、智能井盖……聪明城市扶植正在为我们的生活带来各类便利。聪明城市也成为当前热议的话题。6月8日,第二十届中国北京国际科技家当博览会同>>>详细阅读
本文标题:JavaScript的API设计原则
地址:http://www.17bianji.com/lsqh/35828.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示