前端笔试题:为字符串实现一个render方法,实现下面的变量替换功能

匿名网友 匿名网友 发布于: 2015-10-13 00:00:00
阅读 140 收藏 0 点赞 0 评论 0

/**
 * @fileoverview  为字符串实现一个render方法,实现下面的变量替换功能
 **/
var greeting = 'my name is $(name),age $(age)';
var result = greeting.render({name:'XiaoMing',age:11});
console.log(result); //

参考答案:
    String.prototype.render = function(option){
        var s = this,
                reg;
        Object.keys(option).forEach(function(k){
            reg = new RegExp("\\$\\("+k+"\\)","g");
            s = s.replace(reg,option[k])
        });
        return s
    };

    var greeting = 'my name is $(name),age $(age)';
    var result = greeting.render({name:'XiaoMing',age:11});
    console.log(result); // my name is XiaoMing,age 11

评论列表