提示:您可以先修改部分代码再运行
Code:
/**
* 判定一个对象是否被定义过
*/
Object.defined = function(obj, prop){
return typeof(obj) != 'undefined' && (prop == null || obj.hasOwnProperty(prop));
};
System = {};
System.substitute = function(s, o, f){
var patternExpr = /{([^{}]*)}/g
s
= s.replace(patternExpr, function(s,a){
if(!a) return '';
try{
var
r = eval("with(o){"+s+"}");
return Object.defined(r)?(f?f(r):r):'';
}catch(ex){return "{"+s+"}";}
});
return
s;
};