Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理javascript对象_Javascript - Fatal编程技术网

处理javascript对象

处理javascript对象,javascript,Javascript,我在javascript中有一个函数,如下所示: function player(){ var cards=[]; this.score=0; var self=this; this.addCard=addCard; this.resetCards=resetCards; function addCard(card){ cards.push(card); this.score=+card.value;

我在javascript中有一个函数,如下所示:

function player(){
    var cards=[];
    this.score=0;
    var self=this;

    this.addCard=addCard;
    this.resetCards=resetCards;


    function addCard(card){

        cards.push(card);
        this.score=+card.value;
    }

    function resetCards(){
        cards=[];
        score=0;
    }


}
我使用构造函数调用函数:

var player1=new player();
然后我调用它的一些封闭函数,如下所示

player1.addCard(someCardObject);//card someCardObject has .value say 5
player1.addCard(someCardObject);//card someCardObject has .value say 7
我预计player1.score为5+7=12,但它保持在7


有人能告诉我我做错了什么吗

你在
addCard
中有一个简单的错误

this.score=+card.value;
应该是

this.score += card.value;

在第一个实例中,您将
this.score
设置为等于
card.value
,而在第二个实例中,您将
card.value
添加到它。记住,孩子们,操作员的顺序很重要

您在
addCard
中遇到了一个简单错误

this.score=+card.value;
应该是

this.score += card.value;

在第一个实例中,您将
this.score
设置为等于
card.value
,而在第二个实例中,您将
card.value
添加到它。记住,孩子们,操作员的顺序很重要

你从来没有在
.score
中添加过任何内容。打电话给addCard是否会增加分数,如果没有,是否有办法使分数保持静态?不,没有<代码>this.score=+card.value分配
卡.值
 — 转换成数字 — 到
这个.分数
。你的意思是
this.score+=card.value?有一个打字错误
这个。分数=+卡值
将最后一个值设置为
分数
,而不是将其添加。
+卡。值
将充当
一元加号
。。你从来没有在
.score
中添加过任何内容。打电话给addCard是否会增加分数,如果没有,是否有办法使分数保持静态?不,没有<代码>this.score=+card.value分配
卡.值
 — 转换成数字 — 到
这个.分数
。你的意思是
this.score+=card.value?有一个打字错误
这个。分数=+卡值
将最后一个值设置为
分数
,而不是将其添加。
+卡。值
将充当
一元加号
。。这甚至不是秩序或操作的问题。这只是一个打字错误,说得好。更改为“操作员顺序”,这是正确的。我只是想说一些简单的话:P“你在用卡片增加它的值”。。。那是错误的。。。[“还记得孩子吗?”]对措辞做了一些修改,使其更加正确。
this.score=+card.value
将首先将任何值转换/强制转换为“
数字”
,然后将其分配给
此.score
。。这甚至不是一个秩序或操作的问题。这只是一个打字错误,说得好。更改为“操作员顺序”,这是正确的。我只是想说一些简单的话:P“你在用卡片增加它的值”。。。那是错误的。。。[“还记得孩子吗?”]对措辞做了一些修改,使其更加正确。
this.score=+card.value
将首先将任何值转换/强制转换为“
数字”
,然后将其分配给
此.score
。。它是