2014年9月10日水曜日

C#のstring.Formatをjavascriptで

C#など普段使用しているとstring.Formatがとても便利だったりします。
javascriptでも使用出来たらなと思い作ってみました。
コードは下記の様になります。

String.Format = function () {
    if (typeof (arguments[0]) == "string") {
        for (var i = 0; i < arguments.length; i++) {
            arguments[0] = arguments[0].replace("{" + i + "}", arguments[i + 1]);
        }
    } return arguments[0];
};
使い方は下記の様な感じです。
<!DOCTYPE html>
<html>
<head>
    <title>String Format</title>
    <meta charset="utf-8">
    <script>
        window.onload = function () {
            var tenki = "晴れのち曇り";
            var kion = "27";
            var shitsudo = "60";
            var message = String.Format("今日の天気は{0}で、気温は{1}度、湿度は{2}%です。", tenki, kion, shitsudo);
            alert(message);
        }

        // -----------------
        // String.Format部分
        String.Format = function () {
            if (typeof (arguments[0]) == "string") {
                for (var i = 0; i < arguments.length; i++) {
                    arguments[0] = arguments[0].replace("{" + i + "}", arguments[i + 1]);
                }
            } return arguments[0];
        };
    </script>
</head>
<body>
</body>
</html>

実行するとアラートで
今日の天気は晴れのち曇りで、気温は27度、湿度は60%です。
と表示されます。

別のjsファイルに保存しておけば下記のように使用出来ます。
<!DOCTYPE html>
<html>
<head>
    <title>String Format</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="/myscripts.js"></script>
    <script>
        window.onload = function () {
            var tenki = "晴れのち曇り";
            var kion = "27";
            var shitsudo = "60";
            var message = String.Format("今日の天気は{0}で、気温は{1}度、湿度は{2}%です。", tenki, kion, shitsudo);
            alert(message);
        }
    </script>
</head>
<body>
</body>
</html>

0 件のコメント:

コメントを投稿