不将int转换为if语句中的字符串

时间:2017-07-27 00:50:40

标签: javascript

我正在尝试使用if循环将int转换为str!这是我的logiv。我做错了什么?有什么想法吗?

var waitTime  = parseInt("53");
if (waitTime > 20) {
  return 'a lot of time'
} else if (waitTime < 20) {
  return 'we can wait'
}

console.log(waitTime);

我一直在

5 个答案:

答案 0 :(得分:2)

您的代码看起来大致正确,包括您使用parseInt,但是您可能正在将return语句与console.log语句混合使用?

var waitTime = parseInt("53");    
if (waitTime > 20) {    
    console.log('a lot of time'); // use console.log rather than return
} else if (waitTime < 20) {    
    console.log('we can wait'); // use console.log rather than return
}

console.log(waitTime);

http://jsbin.com/kebagodura/edit?js,console,output

答案 1 :(得分:2)

或者(对Jonathan的回答),将代码放在一个函数中然后// window.isSecureContext could be used for Chrome var isSecureOrigin = location.protocol === 'https:' || location.hostname === 'localhost'; if (!isSecureOrigin) { alert('getUserMedia() must be run from a secure origin: HTTPS or localhost.' + '\n\nChanging protocol to HTTPS'); location.protocol = 'HTTPS'; } s是有意义的。改进版本会看到您在等待时间内作为函数的参数传递。

return

DEMO

答案 2 :(得分:1)

您的代码中有错误。

return 'a lot of time'

它正在尝试从函数返回文本a lot of time。但是你从来没有创建过一个函数,因此它会抛出一个错误。

更接近你想要的东西:

function wait(waitTime) {
  if (waitTime > 20) {
    return 'a lot of time'
  } else if (waitTime < 20) {
    return 'we can wait'
  }
}
console.log(wait(YOUR_WAIT_TIME_HERE));

编辑您根本不需要parseInt功能。 (即:'25' > 20)隐式将'25'投射到Number

答案 3 :(得分:1)

你可以这样做,在if / else子句中重新分配变量值:

&#13;
&#13;
var waitTime = parseInt("53");

if (waitTime > 20) {
   waitTime = 'a lot of time';
} else if (waitTime <= 20) {
   waitTime = 'we can wait';
}

console.log(waitTime);
&#13;
&#13;
&#13;

答案 4 :(得分:1)

您也可以这样做 - 而不是“返回”,您可以这样做:

let attr1: number = ...
let attr2: string = ...
let user1: User = {
  attr1: attr1,
  attr2: attr2
}