JavaScript提供了两个方法,将字符串转换为全部大写或全部小写,从而可以将“hello”更改为“HELLO”,或者将“NOT”更改为“not”。你可能会问,为什么?将字符串中的字母转换为相同的大小写,这可以使得比较两个字符串变得更容易。例如,假设你创建了一个题程序,并且,一个问题是“Who was the first American to win the Tour De France?”你可能用类似下面的代码来检查参加答题者的答案:
var correctAnswer='Greg LeMond'; var response=prompt('Who was the first American to win the Tour De8 France?',''); if(response==correctAnswer){ //correct }else{ //incorrect }
答案是Greg LeMond,但是,如果参加答题的人输入了Greg Lemond,结果会如何呢?条件看上去类似这样:'Greg Lemond'=='Greg LeMond'。由于JavaScript是区分大小写字母的,Lemond中的小写字母'm'不会匹配LeMond中的'M',因此,参加答题者可能会得到答错的结果。如果参加答题者按下了Caps键,并且输入了GREG LEMOND,也会得到同样的结果。
要解决这个难题,我们可以将两个字符串都转换为同样的大小写,然后再比较它们:
if(response.toUpperCase()==correctAnswer.toUpperCase()){ //correct }else{ //incorrect }
在这个例子中,条件语句将参加答题者的答案和正确的答案都转换为大写字母,因此,'Greg Lemond'变成了'GREG LEMOND',并且'Greg LeMond'变成了'GREG LEMOND'。
要获得全部小写的字符串,像下面这样使用toLowerCase()方法:
var answer='Greg LeMond'; alert(answer.toLowerCase());//'greg lemond'
注意,这些方法都没有真正改变实际存储在变量中的字符串,它们只是以全部大写或全部小写的形式返回了该字符串。因此,在上面的例子中,即便提示出现以后,answer仍然包含'Greg LeMond'(它们返回某些其他的值)。
toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法。而toLocaleLowerCase()和toLocaleUpper()方法则是针对特定地区的实现。对有些地区来说,针对地区的方法与通用方法得到的结果相同,但少数语言会为Unicode大小写转换应用特殊的规则,这时候就必须要使用针对地区的方法来保证实现正确的转换。
以下是几个例子:
var sv="hello world"; alert(sv.toLocaleUpperCase());//"HELLO WORLD" alert(sv.toUpperCase());//"HELLO WORLD" alert(sv.toLocaleLowerCase());//"hello world" alert(sv.toLowerCase());//“hello world”
以上代码用的toLocaleUpperCase()和toUpperCase()都返回了“HELLO WORLD”,就像调用了toLocaleLowerCase()和toLowerCase()都返回了“hello world”一样。一般来说,在不知道自己的代码将在那种语言环境下运行的情况下,还是使用针对地区额的方法更稳妥一些。
以上所述就是本文的全部内容了,希望大家能够喜欢。
目前,我有一个很大的JavaScript字符串,我正试图写入一个文件,但编码方式不同(ISO-8859-1)。我希望使用类似downloadify的东西。Downloadify只接受普通JavaScript字符串或base64编码字符串。 因此,我决定使用JSZip压缩我的字符串,JSZip生成一个很好的base64编码字符串,可以传递给downloadify并下载到我的桌面。胡萨!问题是,我压缩
除了这个问题:更改超文本标记语言电子邮件正文字体类型和大小在VBA,我想知道如何才能改变字体大小 当我从代码中删除字体大小时,它确实改变了字体系列。 谢谢你的协助,
问题内容: 我正在学习python并进行练习: 字符串。创建一个函数,该函数将返回另一个与输入字符串相似的字符串,但大小写取反。例如,输入“ Mr. Ed”将得到“ mR。eD”作为输出字符串。 我的代码是: 有没有更好的解决方法?我的解决方案似乎很奇怪。 问题答案: 您的解决方案非常好。但是,您不需要三个分支,因为在upper不适用时将返回str。 使用生成器表达式,可以将其简化为:
我想知道是否有一种方法可以在VSCode中格式化javascript时更改缩进大小。 我发现这个git提交为JS添加了很多格式选项,但我看不到任何更改缩进大小的能力。 有人知道怎么做吗? --编辑-- 我已经尝试在编辑器底部改变缩进大小。工具栏图像(还不能嵌入图像...) 我还尝试更改检测缩进设置。 但是当我格式化时,它仍然使用两个空格。
问题内容: 我听到一位同事说,即使我将String成员放在Java类中,即使String为空,我也要支付“ 24字节”的费用。准确吗?Integer,Float,Double是否相同?(与int,float,double相对,后者分别为4、4和8个字节)。 问题答案: 你要付4首或8个字节的 参考 。是否为每个“容器”对象实例额外的 对象 付费,取决于您如何获取空字符串。例如,如果您使用文字,那么
我在读一本关于Java的书,其中提到了一个修改字符串池大小的选项,该选项是xx:StringTableSize。当我在命令行中尝试这样做时,我得到了一个错误,说这是一个无效的标志,我尝试了以下两种方法,发生了相同的错误: 错误:无效标志:-XX1234 错误:无效标志:-XX:1234 错误是什么?我在Java SE参考中找不到解决方案,甚至没有看到类似“-xx”的选项。 这背后的原因是什么,是我