📅  最后修改于: 2023-12-03 15:37:43.346000             🧑  作者: Mango
在Javascript中,经常需要在文本中判断是否包含某个特定的字符串或者子串,或者需要判断一个对象中是否包含某个属性。本文将为您介绍在Javascript中如何实现这些功能。
在Javascript中,我们可以通过使用String.prototype.includes()
方法来判断一个字符串是否包含另一个字符串。
const str = 'Hello, world!';
console.log(str.includes('world')); // true
console.log(str.includes('World')); // false
在上面的例子中,我们调用了includes()
方法来判断str
字符串是否包含world
,返回true
。在第二次调用中,我们判断的是World
,由于Javascript区分大小写,所以返回false
。
在Javascript中,我们可以使用String.prototype.startsWith()
和String.prototype.endsWith()
方法来判断一个字符串是否以另一个字符串开头或结尾。
const str = 'Hello, world!';
console.log(str.startsWith('Hello')); // true
console.log(str.startsWith('Hello', 1));// false
console.log(str.endsWith('world!')); // true
console.log(str.endsWith('World!')); // false
在上面的例子中,我们调用了startsWith()
方法来判断str
字符串是否以Hello
开头,返回true
。在第二次调用中,我们将第二个参数设置为了1
,表示从索引1
开始判断,由于str
字符串并不以Hello
开头,所以返回false
。在第三次调用中,我们调用了endsWith()
方法来判断str
字符串是否以world!
结尾,返回true
。在第四次调用中,我们判断的是World!
,由于Javascript区分大小写,所以返回false
。
在Javascript中,我们可以通过使用in
操作符或者Object.prototype.hasOwnProperty()
方法来判断一个对象是否包含某个属性。
const obj = { foo: 1, bar: 2 };
console.log('foo' in obj); // true
console.log('toString' in obj); // true
console.log(obj.hasOwnProperty('foo')); // true
console.log(obj.hasOwnProperty('toString'));// false
在上面的例子中,我们使用in
操作符来判断obj
对象是否包含foo
和toString
属性,分别返回true
和true
。由于Javascript中的所有对象都继承了Object.prototype
中的方法和属性,所以toString
也被认为是obj
对象的一个属性。接着,我们调用了hasOwnProperty()
方法来判断obj
对象是否包含foo
和toString
属性,分别返回true
和false
。由于hasOwnProperty()
方法只判断自身属性,所以不认为toString
是obj
对象的一个属性。