-1

1106 インクリメントのオペランドは参照でなければなりません。

this.format.size = Object(Number(this.format.size)--);
4

4 に答える 4

1

最初:フォーマット変数をどこで作成していますか?

二行目

 this.format.size = Object(Number(this.format.size)--);

意味がありません。デクリメントを後置演算子として使用すると、後置演算子が処理される前に式の値が返されます。使用する:

format.size -= 1;

また

format.size--;
于 2013-03-05T10:54:23.117 に答える
0

あなたが試すことができます

var tmpNum:Number = Number(this.format.size);
this.format.size  = Object(tmpNum--);

!! しかし、なぜ使用しないのですか:

this.format.size--;
于 2013-03-05T10:09:29.193 に答える
0

this.format.size が null または未定義であるか、サイズが format のプロパティではない (つまり、 this.format が null である)

于 2013-03-05T10:16:04.293 に答える
0

Number へのキャスト/変換が原因です。--の省略形です-= 1。そのため、新しい値を格納する何かが必要です。ただし、 Number 変換は参照ではなく値を返すため、そこに記述した内容は次のように変換されます。

//let's say this.format.size holds the value '5'
this.format.size = Object(5 -= 1);

そして、明らかに値に値を格納することはできません。

this.format.size が数値を返すことを 100% 確信できない場合、簡単な方法は次のとおりです。

this.format.size = parseInt( this.format.size ) -1;

ただし、format.size に格納されている値を前もって検証する方がよいことは明らかです。

于 2013-03-05T16:18:10.823 に答える