JavaScript中的复杂计算
我无法理解此代码:JavaScript中的复杂计算,javascript,Javascript,我无法理解此代码: y -= (1 - (1770 - pencilY) / 225) * 140; 我对JS计算的理解是: y += 10; is equal to y = y + 10; 如果我说y=1-(1770-便士) 发生的事情是,(1770-pencilY)在根据1计算结果值之前首先计算,类似于y=1-1770的结果值-pencilY,但我仍然无法计算出复杂的方程,它太复杂了,我无法理解,有人能给我解释一下吗?Javascript使用此运算符优先级进行基本算术计算 括号 多重性
y -= (1 - (1770 - pencilY) / 225) * 140;
我对JS计算的理解是:
y += 10; is equal to y = y + 10;
如果我说y=1-(1770-便士)
发生的事情是,
(1770-pencilY)
在根据1
计算结果值之前首先计算,类似于y=1-1770的结果值-pencilY
,但我仍然无法计算出复杂的方程,它太复杂了,我无法理解,有人能给我解释一下吗?Javascript使用此运算符优先级进行基本算术计算
- 括号
- 多重性
- 分部
- 加成
- 减法
valOne = (1770 - pencilY)
(最里面的括号具有最高优先级)
(除法的优先级高于减法)
(此减法运算符出现在第二个括号内,因此其优先级高于乘法)
(最外层的算术运算的优先级高于-=赋值运算符)
最后:
y = y - ValFour
Javascript将此运算符优先级用于基本算术计算
- 括号
- 多重性
- 分部
- 加成
- 减法
valOne = (1770 - pencilY)
(最里面的括号具有最高优先级)
(除法的优先级高于减法)
(此减法运算符出现在第二个括号内,因此其优先级高于乘法)
(最外层的算术运算的优先级高于-=赋值运算符)
最后:
y = y - ValFour
这解释了不同运算符的求值顺序
按顺序:
var a = 1770 - pencilY;
var b = a / 225;
var c = 1 - b;
var d = c * 140;
var y = y - d;
这就解释了不同操作符的求值顺序
按顺序:
var a = 1770 - pencilY;
var b = a / 225;
var c = 1 - b;
var d = c * 140;
var y = y - d;
y-=(1-(1770-便士)/225)*140
为了:
y+=10代码>等于y=y+10代码>
是的,所以我们可以将您的表达式改写为
y = y - ((1 - (1770 - pencilY) / 225) * 140);
这太复杂了,我无法理解
好吧,通过添加括号来帮助清楚嵌套。在你的例子中,已经有很多了,所以我们只需要找出-
与/
之间的区别,然后划分。所以
y = y - ((1 - ((1770 - pencilY) / 225)) * 140);
现在,当对它求值时,它基本上是从左到右的,操作数在运算之前(严格求值)。所以一步一步发生的是
y*=referenceTo(“y”)
y*'=参考(“y”)
y'=valueOf(y*')/y
a=1//1
b=1770//1770
pencilY*=参考(“pencilY”)
pencilY=valueOf(pencilY*)//pencilY
c=b-便士//1770-便士
d=225//225
e=c/d/(1770-便士)/225
f=a-e//1-((1770-便士)/225)
g=140//140
h=f*g/(1-(1770-便士)/225)*140
转让给(y*,g)
y+=10代码>等于y=y+10代码>
是的,所以我们可以将您的表达式改写为
y = y - ((1 - (1770 - pencilY) / 225) * 140);
这太复杂了,我无法理解
好吧,通过添加括号来帮助清楚嵌套。在你的例子中,已经有很多了,所以我们只需要找出-
与/
之间的区别,然后划分。所以
y = y - ((1 - ((1770 - pencilY) / 225)) * 140);
现在,当对它求值时,它基本上是从左到右的,操作数在运算之前(严格求值)。所以一步一步发生的是
y*=referenceTo(“y”)
y*'=参考(“y”)
y'=valueOf(y*')/y
a=1//1
b=1770//1770
pencilY*=参考(“pencilY”)
pencilY=valueOf(pencilY*)//pencilY
c=b-便士//1770-便士
d=225//225
e=c/d/(1770-便士)/225
f=a-e//1-((1770-便士)/225)
g=140//140
h=f*g/(1-(1770-便士)/225)*140
转让给(y*,g)
对我来说没有-1
。这是我的家庭作业。@很抱歉,你编辑了错别字y=y-((1-(结果值1770除以225))*140)
@AstroCB i neva说或意思是这工作不正常:
,请返回原始行:和平。对我来说没有-1
。这是我的家庭作业。@你编辑了对不起,错别字y=y-((1-(结果值1770除以225))*140)
@AstroCB i neva说或意思是这工作不正常:
,请返回原始行:D.和平。