Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中应用字符串方法的问题_Javascript - Fatal编程技术网

在javascript中应用字符串方法的问题

在javascript中应用字符串方法的问题,javascript,Javascript,我有一些简单的代码,但是得到了一个非常混乱的结果 下面是一个简单的函数: const test2 = () => { let containsBitcoin = false const str2 = "buy bitcoin" if (str2.includes('bitcoin')) { let containsBitcoin = true } return containsBitcoin } 但是当我使用console.log记录结果时

我有一些简单的代码,但是得到了一个非常混乱的结果

下面是一个简单的函数:

const test2 = () => {
  let containsBitcoin = false
  const str2 = "buy bitcoin"
  if (str2.includes('bitcoin')) {
    let containsBitcoin = true
  }
  return containsBitcoin
}
但是当我使用console.log记录结果时

console.log(test2())
我猜错了。我不明白为什么


这里出现了一个

,因为您在条件内部重新声明了
containsBitcoin
,而不是更改其值,而外部作用域的
containsBitcoin
的值仍然为false

consttest2=()=>{
设containsBitcoin=false
const str2=“购买比特币”
if(str2.includes(‘比特币’)){
containsBitcoin=true
}
返回容器输入
}

console.log(test2())
发生这种情况是因为您在条件内部重新声明
containsBitcoin
,而不是更改其值,而外部作用域的
containsBitcoin
的值仍然为false

consttest2=()=>{
设containsBitcoin=false
const str2=“购买比特币”
if(str2.includes(‘比特币’)){
containsBitcoin=true
}
返回容器输入
}

console.log(test2())
让containsBitcoin=true
--->
containsBitcoin=true
@Yousaf或者
让containsBitcoin=str2.includes('bitcoin')
如果
@VLAZ right,则不带
。OP的代码可以进一步简化:
return str2.includes('bitcoin')
,但我不想建议另一种方法,我只想指出OP代码中的错误。@Yousaf TBH它可以简化为
true
,因为字符串是静态的。但问题在于在块范围中声明一个新变量。解决方案是重复使用变量或根本没有块作用域(和重新声明)。
let containsBitcoin=true
--->
containsBitcoin=true
@Yousaf或者
let containsBitcoin=str2.includes('bitcoin')
如果
@VLAZ right。OP的代码可以进一步简化:
return str2.includes('bitcoin')
,但我不想建议另一种方法,我只想指出OP代码中的错误。@Yousaf TBH它可以简化为
true
,因为字符串是静态的。但问题在于在块范围中声明一个新变量。解决方案是重复使用变量,或者根本没有块作用域(和重新声明)。我正要写同样的东西,但你比我快。我正要写同样的东西,但你比我快。