如何避免for循环内的while循环中出现意外标识符

时间:2019-10-11 18:23:29

标签: javascript for-loop while-loop

我在while循环中收到意外的标识符。如果我删除while循环,则不会收到意外的标识符,但是在javascript中,我不知道如何使此代码正常工作,因此我可以循环直到j小于y div 2,同时在while循环中增加y

function Xploder(num,bits=1) {
  temp = BigInt(num) + BigInt(1)
  xnum = (temp * BigInt(Math.pow(2, bits)))-1n
  return xnum
}

var y = 3n
var j = 1009n
for (x=0; x<1; x++) {
  while ( (j < y//2) ) 
     y=Xploder(y)
}

Thrown:
     y=Xploder(y)
     ^

SyntaxError: Unexpected identifier
> }

我该如何格式化我的代码,以便在while循环中或在javascript中不会得到意外的标识符。如何正确编写以上代码。

由下面的评论者回答。我从python切换到javascript,只是没有注意到我是通过不更改为javascript使用的常规除法来注释掉的。感谢您的回答,我能够解决此转换问题。再次感谢!

2 个答案:

答案 0 :(得分:1)

您是在评论y,而不是将其除。

function Xploder(num,bits=1) {
  temp = BigInt(num) + BigInt(1)
  xnum = (temp * BigInt(Math.pow(2, bits)))-1n
  return xnum
}

var y = 3n
var j = 1009n
for (x=0; x<1; x++) {
  while ( (j < y/2) ) 
     y=Xploder(y)
}

答案 1 :(得分:1)

双斜杠是标记注释开始的方式,因此:

for (x=0; x<1; x++) {
  while ( (j < y//2) ) 
     y=Xploder(y)
}

解析为:

for (x=0; x<1; x++) {
  while ( (j < y y=Xploder(y)
}

...,说明错误消息。

如果要划分,请使用单个/

for (x=0; x<1; x++) {
  while (j < y/2) 
     y=Xploder(y)
}