在实际应用中,有可能需要对字符串中字母进行大小写进行转换和比较,本节教程就对此来介绍。
这两个方法分别用于将字符串 str 中的所有大写字母转换为小写字母以及将所有小写字母转换为大写字母。示例如下:
var oStr = "Hello,欢迎学习JavaScript";
alert(oStr.toLowerCase()));//输出:hello,欢迎学习javascript
alert(oStr.toUpperCase());//输出:HELLO,欢迎学习JAVASCRIPT
这两个方法是针对字符串对象的,用于获取字符串对象的原始字符串值。
var oStr = new String("Hello,JavaScript!");
console.log(oStr.toString());//输出:Hello,JavaScript!
console.log(oStr.valueOf());//输出:Hello,JavaScript!
两个字符串之间的比较是逐位比较字符的 Unicode 值的大小。字符串的比较可使用>、<、>=、<=、==5 个比较运算符。当使用>或<运算符时,一旦某位置上的字符的 Unicode 值不相等时,将返回 true 或 false,否则继续比较,一直到一个字符串的所有字符都比较完时,对应位的字符的 Unicode 都相等,此时如果两个字符串的长度相等,则表示这两个字符串相等;此时如果两个字符串的长度不相等,则长度较长的那个字符串大于长度较短的字符串。
需要注意的是,如果两个字符串对象进行比较,则在比较前会默认调用 toString() 方法获取它们的原始字符串值,然后再用字符串值进行比较。此外,如果比较的两个数据有一个是字符串,另一个是数值型数据,则默认会将字符串隐式转变为数值,然后按数值大小进行比较。
有关字符串的比较示例如下:
var str1 = "JavaScript";
var str2 = "javaScript";
var str3 = "JavaScript";
var str4 = "Java";
var oStr1 = new String("JavaScript");
var oStr2 = new String("VBScript");
alert(str1 < str2)//比较两个字符串变量,j的Unicode比J的大,输出:true
alert(str1 == str3)//输出:true
alert(str3 > str4);//输出:true
alert(oStr1> oStr2);//比较两个字符串对象,等效于oStr1.toString()==oStr2.toString(),输出:false
alert('100' > '2');//两个比较数都是字符串,将按对应位的Unicode进行比较,输出:false
alert('100' > 2);//比较数存在数值数据,首先将字符串隐式转换为数值再比较,输出:true