Heim > Web-Frontend > js-Tutorial > Hauptteil

Beispiel für eine benutzerdefinierte formatierte Ausgabe in js

小云云
Freigeben: 2018-03-10 15:28:22
Original
2117 Leute haben es durchsucht

在使用js的时候,经常要进行字符串的拼接,一但使用+号进行字符串拼接的时候,基本是各种问题,又不好维护,有没有更好的方法地其进行格式化输出呢?答案肯定是有的,如果你使用nodejs,它已经自带的,如果你还在使用纯原生js,那不好意思了。

使用方法

String对象添加format方法

String.prototype.format = function(opts) {//use 'my name is ${name}'.format({name:'lake'})
    var data = Array.prototype.slice.call(arguments, 0),
        toString = Object.prototype.toString;    if (data.length) {
        data = data.length == 1 ?
            (opts !== null && (/\[object Array\]|\[object Object\]/.test(toString.call(opts))) ? opts : data) : data;        return this.replace(/\$\{(.+?)\}/g, function(match, key) {
            var replacer = data[key];            // chrome 下 typeof /a/ == 'function'

            if ('[object Function]' == toString.call(replacer)) {
                replacer = replacer(key);
            }            return ('undefined' == typeof replacer ? '' : replacer);
        });
    }    return this;
}
Nach dem Login kopieren
Nach dem Login kopieren

使用方法

console.log('my name is ${name}.'.format({name:'lake'}))
Nach dem Login kopieren
Nach dem Login kopieren
  • 1

输出结果

my name is lake.
Nach dem Login kopieren

权声明:多一份转载,多一份环保 http://blog.csdn.net/dounine/article/details/78443487

在使用js的时候,经常要进行字符串的拼接,一但使用+号进行字符串拼接的时候,基本是各种问题,又不好维护,有没有更好的方法地其进行格式化输出呢?答案肯定是有的,如果你使用nodejs,它已经自带的,如果你还在使用纯原生js,那不好意思了。

使用方法

String对象添加format方法

String.prototype.format = function(opts) {//use 'my name is ${name}'.format({name:'lake'})
    var data = Array.prototype.slice.call(arguments, 0),
        toString = Object.prototype.toString;    if (data.length) {
        data = data.length == 1 ?
            (opts !== null && (/\[object Array\]|\[object Object\]/.test(toString.call(opts))) ? opts : data) : data;        return this.replace(/\$\{(.+?)\}/g, function(match, key) {
            var replacer = data[key];            // chrome 下 typeof /a/ == 'function'

            if ('[object Function]' == toString.call(replacer)) {
                replacer = replacer(key);
            }            return ('undefined' == typeof replacer ? '' : replacer);
        });
    }    return this;
}
Nach dem Login kopieren
Nach dem Login kopieren

使用方法

console.log('my name is ${name}.'.format({name:'lake'}))
Nach dem Login kopieren
Nach dem Login kopieren

输出结果

my name is lake.
Nach dem Login kopieren

相关推荐:

php阅读number_format函数的源码分享

推荐10篇关于format函数的课程

详解str.format()的基本语法和高级用法

Das obige ist der detaillierte Inhalt vonBeispiel für eine benutzerdefinierte formatierte Ausgabe in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage