这是一个非常基本的问题,因为我是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();
这会返回控制台错误
"语法错误:意外的令牌' {'。解析错误。"
为什么我不能写这样的if和else条件?
请有人解释这些小问题的答案,以便我继续前进!提前谢谢你并原谅我,我对编码很陌生。
::)
嗨再次..更新和另一个问题。
我之初提出问题的原因是因为一个代码学习的功能练习,结论是......
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()
所以..我想测试什么不是字符串,我想得到警告&#34;这不是一个有效的条目!&#34;。
但是,如果提示只返回一个字符串,那么为什么这个&lt;&lt; if(typeof(phrase)!=&#34; string&#34;)&gt;&gt;包含在函数中?
答案 0 :(得分:3)
我需要输入什么来获取警报“那不是字符串”?哪一个 那种输入不是字符串?
prompt
的结果始终为string
。因此,您无法向prompt
提供任何可能导致其他类型的输入。 prompt
始终返回一个字符串。
有关更正式的方法,请查看here。
答案 1 :(得分:1)
我需要输入什么来获取警报“那不是字符串”?哪种输入不是字符串?
不是字符串的东西包括数字,对象和布尔值。
prompt
函数的返回值始终是一个字符串。 if
函数的目的是获取用户输入的字符串。
为什么我不能写这样的if和else条件?
else
有条件。如果条件不满足会发生else
。
您正在为if
提供条件,这是没有意义的。
您可以使用另一个} else if (something) {
语句:
position: fixed
答案 2 :(得分:1)
对于stringOrNot(),你的else语句中有一个条件。如果你想要一个条件,请使用else if(){}。
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!");
}
}
请查看以下内容以获取更多信息
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else
编辑问题2:
您包括检查提示,因为它也可以返回空值(当用户单击退出时)。因此,当用户单击“取消”时,“这不是有效条目!”会出现。