-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

转换/转换为数字是罪魁祸首。--是 的简写-= 1。所以它需要一些东西来存储新值。但是 Number 转换返回一个值,而不是一个引用,所以你在那里写的内容转换为:

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

而且您显然不能将值存储在值中。

如果您不是 100% 确定 this.format.size 返回一个数字,那么简单的方法是:

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

但显然最好预先验证存储在 format.size 中的值。

于 2013-03-05T16:18:10.823 回答
0

this.format.size 为 null 或未定义或 size 不是格式的属性(即 this.format 为 null )

于 2013-03-05T10:16:04.293 回答