Javascript 角度计算奇怪的行为
我使用angular.js计算高度,并将值添加到css样式标记中,它位于一个ng重复循环中 这一行的计算是错误的:Javascript 角度计算奇怪的行为,javascript,css,angularjs,Javascript,Css,Angularjs,我使用angular.js计算高度,并将值添加到css样式标记中,它位于一个ng重复循环中 这一行的计算是错误的: <div style="height: {{60.0 / 100.0 * (100 - (100.0 / 0.27 * (item.wert + 1.0 - 0.95)))}}%; "> <p>{{item.wert}}</p> </div> {{item.wert} 当我将item.wert乘以因子1时,结果是正确的,
<div style="height: {{60.0 / 100.0 * (100 - (100.0 / 0.27 * (item.wert + 1.0 - 0.95)))}}%; ">
<p>{{item.wert}}</p>
</div>
{{item.wert}
当我将item.wert乘以因子1时,结果是正确的,
所以这是可行的:
<div style="height: {{60.0 / 100.0 * (100 - (100.0 / 0.27 * ((item.wert * 1.0) + 1.0 - 0.95)))}}%; ">
<p>{{item.wert}}</p>
</div>
{{item.wert}
有人知道我为什么要把它乘以1吗?
谢谢 我认为
item.wert
是一个字符串而不是int,所以当你做*1
时,它实际上会把它变成int,你可以用它来计算。项目的类型。wert取决于它里面存储的值。例如,以下代码打印字符串:
$scope.item={};
$scope.item.wert = "";
console.log(typeof($scope.item.wert)) //string;
但以下代码打印号码:
$scope.item={};
$scope.item.wert = 2;
console.log(typeof($scope.item.wert)) //number;
因此,表达式的结果可能因存储在item.wert中的值而异
添加(+):
// Number + String -> concatenation
5 + "foo" // "5foo"
// Number - String -> NaN
"foo" - 3 // NaN
减法(-):
// Number + String -> concatenation
5 + "foo" // "5foo"
// Number - String -> NaN
"foo" - 3 // NaN
乘法(*)
希望以上信息能回答您的问题。item.wert的值是多少?它是一个浮点值,类似于0.2,但当我使用高度时,它是右凸的:{{item.wert}-,它可以工作到什么类型的item.wert
?如果是字符串,javascript会执行concat操作,比如“1”+1==“11”