2017-01-19 10 views
-9

私はプログラミングが初めてで、これはtutsplusのチュートリアルからのものです。 このコードではthisは何を参照していますか?このコードでは、これは何を参照していますか?

function addToCart(price) { 
    if (this.total) { 
     this.total = 0; 
    } 

    this.total += price; 
    return this.name + '\'s cart total is £' + this.total; 
} 
+0

研究とJavaScriptの基本を学ぶには、あなたの質問にお答えします。チュートリアルの理由は正しいのでしょうか? – NewToJS

+2

検索方法がわからない場合は、 'javascript this keyword'を検索してください。 – GramThanos

+0

Stackoverflowはヘルプフォーラムではありませんが、それはQ&Aスタイルの百科事典です。一度答えると誰にでも役立つ一般的な方法で問題を提示できないなら、これは聞く場所ではありません。特に、あなたが求めている言語の基礎を知らない場合。 –

答えて

-1

あなたが上に投稿したコードは、私には100%正確ではありません。 Tutのチュートリアルのアイデアは、Javascript Object Oriented Programmingの基礎を教えることです。

上記の例を使用して、ここでコメント付きのJSfiddleを作成しました。私はこれが少しあなたの質問に答えるのを助けることを願っています。ここで

https://jsfiddle.net/iamjpg/vtndfL1y/

JSは、上記のフィドルの内側にある:

// Define function which will be our Object 
function cart(name) { 

    // Define a name for cart. Default to 'Bob' if undefined. 
    this.name = name || 'Bob'; 

    // addToCart method on object. 
    this.addToCart = function(price) { 

    // If there is no total, set the total to zero. 
    if (!this.total) { 
     this.total = 0; 
    } 

    // Increment total by passed in price parameter 
    this.total += price; 

    // Return the string containing the total value. 
    return this.name + '\'s cart total is £' + this.total; 
    } 
} 

// Construct cart object 
var cart = new cart('Mario'); 

// Set event listener on the button. 
document.getElementById('cart_button').onclick = function() { 

    // On each click, update the cart price incrementing by 5. 
    document.getElementById('price').innerHTML = cart.addToCart(5); 
} 
関連する問題