这是一个非常基本的问题,因为我是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();
Question
我需要输入什么来获取警报"That is not a string"?
哪种输入不是字符串?
无论我输入什么,我都会得到'那是一根绳子!'回 .
还有这个功能......
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函数练习,结论是......
function countE(){var phrase = prompt(“你要检查哪个短语?”);
if (typeof(phrase) != "string"){
alert("This is not a valid entry!");
return false;
} else {
var eCount = 0;
for (var i = 0; i < phrase.length; i++){
if (phrase.charAt(i) === 'e' || phrase.charAt(i) === 'E')
eCount++;
}
}
alert(eCount);
return true;
}
countE()
所以..我想测试什么不是字符串,我想得到警告“这不是一个有效的条目!” .
但是,如果提示只返回一个字符串,那么为什么这个<< if(typeof(phrase)!=“string”)>>包含在函数中?
3 回答
对于stringOrNot(),你的else语句中有一个条件 . 如果你想要一个条件,请使用else if(){} .
请查看下面的更多信息
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else
编辑问题2:
您包括检查提示,因为它还可以返回空值(当用户单击退出时) . 因此,当用户单击“取消”时,“这不是有效条目!”会出现 .
prompt
的结果总是string
. 因此,没有任何输入可以提供给prompt
,这可能导致不同的类型 .prompt
总是返回一个字符串 .如需更正式的方法,请查看here .
不是字符串的东西包括数字,对象和布尔值 .
prompt
函数的返回值将 always 为字符串 .prompt
函数的目的是获取用户输入的字符串 .if
有条件 .else
如果不满足条件会发生什么 .你正在为
else
提供一个条件,这是没有意义的 .您可以使用另一个
if
语句: