了解javascript类型

了解javascript类型,javascript,typeof,Javascript,Typeof,这是我遇到的一个非常基本的问题,因为我是javascript新手,但在我理解这一点之前,我无法前进 我有这个功能 function stringOrNot() { var input = prompt('Input something here'); if (typeof input != 'string') { alert("That is not a string!"); } else { alert("That is a string!"); } }

这是我遇到的一个非常基本的问题,因为我是javascript新手,但在我理解这一点之前,我无法前进

我有这个功能

function stringOrNot() {
  var input = prompt('Input something here');

  if (typeof input != 'string') {
    alert("That is not a string!");

  } else {
    alert("That is a string!");
  }
}

stringOrNot();
问题
我需要输入什么才能获得警报“这不是字符串”?
哪种输入不是字符串

无论我输入什么,我都会得到“那是一个字符串!”返回

还有这个函数

function stringOrNot() {
  var input = prompt('Input something here');

  if (typeof input != 'string') {
    alert("That is not a string!");
  } else (typeof input == 'string'){
    alert("That is a string!");
  }
}

stringOrNot();
这将返回一个控制台错误

SyntaxError:意外标记“{”。分析错误

为什么我不能这样写if和else条件句

请有人解释一下这些小问题的答案,这样我就可以继续了!提前谢谢你,请原谅我,我对编码非常陌生

:)

你好…更新和另一个问题

我最初问这个问题的原因是因为codeschool.com函数练习的结论是

函数计数(){ var phrase=prompt(“您想检查哪个短语?”)

if(typeof(短语)!=“string”){
警告(“这不是一个有效的条目!”);
返回false;
}否则{
var-ecoount=0;
对于(var i=0;i
}

countE()

所以..我想测试什么不是字符串,我想得到警报“这不是一个有效的条目!”

但是,如果提示只返回一个字符串,那么为什么该>包含在函数中

我需要输入什么来获取警报“这不是字符串”?哪个 哪种输入不是字符串

提示符
的结果始终是一个
字符串
。因此,您无法向
提示符
提供任何可能导致不同类型的输入。
提示符
始终返回一个字符串

对于更正式的方法,请看一看

我需要输入什么才能获得警报“这不是字符串”?哪种输入不是字符串

不是字符串的东西包括数字、对象和布尔值

提示符
函数的返回值将始终是一个字符串。
提示符
函数的目的是获取用户输入的字符串

为什么我不能这样写if和else条件句

如果
接受一个条件。
否则
是不满足条件时发生的情况

您正在向
else
提供一个条件,这没有意义

您可以使用另一个
if
语句,尽管:

} else if (something) {
对于stringOrNot(),在else语句中有一个条件。如果希望有一个条件,请使用else If(){}

请查看下面以了解更多信息

为问题2编辑:


您包括对提示的检查,因为它也可以返回空值(当用户单击“退出”时)。因此,当用户单击“取消”时,将显示“这不是有效条目!”。

它将始终返回字符串,因为提示将返回字符串。对于第二个问题,如果(输入类型==
。谢谢Christos,我现在会更频繁地引用MDN。请你回答我的进一步问题好吗?我解决了我的问题。我使用Safari。在Safari中,按esc或取消警报“0”。在Chrome中,esc或取消警报会提示“这不是有效条目!”。你知道如何让Safari正常工作吗?谢谢如果eCount为0,还可以添加检查以返回“这不是有效条目”。
} else if (something) {
function stringOrNot() {

var input = prompt('Input something here');

if (typeof input != 'string') {
    alert("That is not a string!");

  } else if (typeof input == 'string'){
    alert("That is a string!");
  }
}