[JS]オブジェクト

価格を扱うオブジェクト

by tea4two

HTML

<p>1,280円の消費税を含んだ価格は?</p>
<p>
    <script type="text/javascript">
        //make OBJECT
        var Price = function(price) {
            this.price = price;
            this.tax;
            this.addTax = function() {
                //消費税値を算出し、priceに足して再代入。
                this.price +=  Math.round( this.price * this.tax / 100 );
            };
            this.format = function() {
                
                var s = new String( this.price );     
                var ret = ''; //あとで使う変数
                for( var i = s.length - 3; i > 0; i -= 3 ) {
                    ret = ',' + s.substr(i, 3) + ret;
                }
                ret = s.substr(0, i + 3) + ret;
                return ret; //戻り値
            };
        }
        
        //オブジェクトの利用。順番はこのとおりに書きます。
        var priceGen = new Price(1280);
        priceGen.tax = 5;
        priceGen.addTax();
        document.write( priceGen.format() );
        
    </script>
    円
    </p>

<p><a href="http://jsfiddle.net/nori2tae/Dv5MX/" target="_blank">literalを使ったバージョンはこちら</a></p>