动态产生函数
这两天在看John Resig写的精通javascript,这本书以前也看过一遍,限于当时的水平问题,很多地方没有看懂。这段时间又想把这本书再看一遍,结果收获不少。其中发现一个很有意思的写法:
function User(properties) { for (var i in properties) { (function(which) { var p = i; which['get' + p] = function() { return properties[p]; }; which['set' + p] = function(val) { properties[p] = val; } })(this); } }
var my = new User({name:'zjh'}); //那个my这个实例就有getname和setname这两个方法了 alert(my.getname()); my.setname('sky') alert(my.getname());
var my = new User({name:'zjh',age:18});
alert(my.getname()); my.setname('sky') alert(my.getname()); alert(my.getage()); my.setage('20') alert(my.getage());