类似kaledae.js的接口一样,应该怎么暴露出来
javascript
new Kalendae({ attachTo:document.body, months:1 })
新手第一次开发,类似jq的那种接口,感觉不太清晰,希望可以使用这种接口暴露的方法。希望有原生解决方法,提供思路就好。
附加问题是,在require中,如何暴露出这种接口。
谢谢
PHP中文网2017-04-10 15:22:01
Kalendae 只是一个函数,作为参数的 JS对象就是一个普通的JS对象而已,然后所需要的就是对参数的一个详细说明文档。
一般函数定义有两种方式,一种是类似其它语言的函数定义方式,也就是你说的 jQuery 那种
javascript
function fun(name, age) { // do something }
由于 javascript 的参数没有定义类型,所以需要在函数内部通过判断实参类型来实现重载(多态),这个主题比较复杂,就不多说了
另外一种方式就是你说的通过JSON对象(严格的说是 javascript 对象)来定义参数,像这样
function fun(args) {
args = args || {};
var name = args.name || "anonymous";
var age = args.age || 20;
}
这种方式加上文档,不需要去特别处理参数位置,写起来比较清晰,只是要注意默认值处理(比如没传参数时,直接 args.name
要报异常)。只是使用的时候要写一个对象,不能省略参数名(对象属性名),使用者写起来要多写一些文字而已。