create strict method for javascript . look ->
思路不错。
strict method 给人的印象是函数的参数个数及顺序(function signature)要匹配。你实现的是参数校验(validation)的功能。
恩,谢谢鼓励,一起完善吧,为了大家服务。MIT协议不分你我他。
` var method = m(String,Number,Boolean,function(a,b,c){}) method(str’,22) // error method(‘str’,22,false) // success
`
strict 增加了 len max 和 default默认值
var user = {
_name:null,
_sex:null,
_mobileTel:null,
changeName:m(String,{default:“利奥”},function(name){
this._name = name;
}),
changeSex:m(String,{max:1,default:“M”},function(sex){ this._sex = sex }),
changeTel:m(String,{len:11},function(tel){ this._mobileTel = tel })
}
user.changeName() or user.changeName(null) console.log(user._name) // 利奥
user.changeSex()
console.log(user._sex) // M
user.changeSex(“WW”) // throw error! 必须字符串长度不能大于 1.
user.changeTel(“13900000000”); // no throw error. user.changeTel(‘041233232’); // 抛出异常,因为字符串长度必须 === 11