我正在学习Javascript语言并且我有一个基本的函数来编写:它应该检查字符串中的每个字母是否都在较低的位置并根据它返回true或false,我试着写它但是它返回“undefined”而不是true / false,我不明白为什么,这里是代码:
var s="hello";
var toutEnMinuscules = function(s){
var i=0;
var x=true;
for (i; i<s.length; i++ ){
if(charAt(i)!==charAt(i).toLowerCase()){
x=false;
break;
}
}
return x;
}
答案 0 :(得分:3)
你可以简单地通过
来做到这一点var s="hello";
var isAllLower = s.toLowerCase() == s;
无需逐个迭代和检查字符。
您的代码存在的问题是,您正尝试访问charAt
中的window scope
功能。但实际上它可以在prototype
的{{1}}中找到,
string
答案 1 :(得分:1)
我试过写它但它返回&#34;未定义&#34;代替 是/否,我不知道为什么,这是代码:
原因很简单,因为你没有调用函数;)
其次,您的代码不正确。 charAt
不是全局方法,而是字符串方法。
成功
var s="hello";
var toutEnMinuscules = function(s){
var i=0;
var x=true;
for (i; i<s.length; i++ ){
if(s.charAt(i)!==s.charAt(i).toLowerCase()){ //observe that this line has changed to invoke a string function
x=false;
break;
}
}
return x;
}
toutEnMinuscules (s); //this line has been added to invoke the function
答案 2 :(得分:0)
你可以尝试:
function isAllLower(str){
return str.search(/^[a-z\s]*$/g)>-1;
}