在JavaScript中检查字符串是否相等的正确方法是什么?
当前回答
严格的比较
要进行简单的比较,可以使用===来检查是否严格相等。正如其他人所说,这样做的优点是效率最高,并且可以减少出现错误或不确定代码的可能性。来源:MDN Web Docs:严格平等。
Var a = "hello1"; Var b = "hello2"; Console.log ("a === a?"+ (a == a) + "|"); Console.log ("a === b?"+ (a === b) + "|");
字母的比较
如果希望根据自然排序比较两个字符串,以了解一个字符串是在另一个字符串之前还是之后,请使用<、>、<=和>=操作符。来源:MDN WebDocs用于<,>,<=和>=。
Var a = "hello1"; Var b = "hello2"; Console.log ("a < a?"+ (a < a) + "|"); Console.log ("a < b?"+ (a < b) + "|"); Console.log ("a > b?"+ (a > b) +“|”); Console.log ("b > a?"+ (b > a) +“|”);
其他回答
在javascript中实际上有两种方法可以创建字符串。
var str = 'Javascript';这将创建一个基本字符串值。 var obj = new String('Javascript');这将创建一个包装器对象 String类型。 Typeof STR //字符串 Typeof obj //对象
因此,检查是否相等的最好方法是使用===操作符,因为它检查两个操作数的值和类型。
如果你想检查两个对象是否相等,那么使用String.prototype.valueOf是正确的方法。
new String('javascript').valueOf() == new String('javascript').valueOf()
让我想到这个问题的是填充和空白
检查我的箱子
if (title === "LastName")
doSomething();
标题是"姓"
也许你需要像这样使用修剪函数
var title = $(this).text().trim();
如果知道它们是字符串,则不需要检查类型。
"a" == "b"
但是,请注意字符串对象是不相等的。
new String("a") == new String("a")
将返回false。
调用valueOf()方法将其转换为String对象的原语,
new String("a").valueOf() == new String("a").valueOf()
将返回true
你可以使用==或===,但最后一个更简单(src)
A == b(和它的否定!=)
A === b(和它的否定!==)
还要考虑["foo", "bar"] == "foo,bar"。
推荐文章
- 在JavaScript中将JSON字符串解析为特定对象原型
- 将字符串“true”/“false”转换为布尔值
- 如何使用JavaScript代码获得浏览器宽度?
- event.preventDefault()函数在IE中无法工作
- indexOf()和search()的区别是什么?
- 错误:'types'只能在.ts文件中使用- Visual Studio Code使用@ts-check
- React-Native:应用程序未注册错误
- LoDash:从对象属性数组中获取值数组
- 我如何在Swift连接字符串?
- src和dist文件夹的作用是什么?
- jQuery UI对话框-缺少关闭图标
- 如何使用AngularJS获取url参数
- 将RGB转换为白色的RGBA
- 如何将“camelCase”转换为“Camel Case”?
- 我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?