includes方法这块没听懂

来源:2-5 字符串部分新的方法

weixin_慕前端6235132

2020-09-10 16:35:34

http://img.mukewang.com/climg/5f59e53f09ac4a5f04790368.jpg

写回答

4回答

好帮手慕星星

2020-09-11

同学你好,理解的有问题。

1、indexOf() 方法是检测指定字符串首次出现的位置,并不是指定字符串(promise)不能在开头。主要字符串中有promise字符,就会执行if语句。

2、输出下首次出现的位置为2

http://img.mukewang.com/climg/5f5b175a095c32f203390026.jpg

http://img.mukewang.com/climg/5f5b176309b46f9501140037.jpg

进行按位取反运算之后值为-3

http://img.mukewang.com/climg/5f5b1799092a226701540064.jpg

-3转化为布尔值为true

http://img.mukewang.com/climg/5f5b17b209b33c5b01880067.jpg

所以可以执行if语句。

祝学习愉快!

0
heixin_慕前端6235132
h 为什么2取反之后是-3呢?还有为什么-3转化为布尔值是true,布尔值不是只有true和false吗?
h020-09-11
共1条回复

好帮手慕星星

2020-09-11

同学你好,问题解答如下:

1、~是按位取反运算,不是取反运算,和!取反不一样,返回的是一个整数类型 。~运算比较复杂,例如1

http://img.mukewang.com/climg/5f5b508409cccf2801190065.jpg

转换过程

http://img.mukewang.com/climg/5f5b507309c0741710350052.jpg

2也是一样,知道结果为-3就可以,让浏览器去计算。

2、布尔值只有true和false,但是在if判断中,如果条件不是布尔值,会转化为布尔值之后再判断,-3

转换为布尔值为true,所以就能执行if语句。如果在学习过程中不知道当前字符转化为布尔值是true还是false,就用Boolean()方法转化试试。

祝学习愉快!

0

好帮手慕码

2020-09-10

同学你好,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。之前学习过,课程地址:https://class.imooc.com/lesson/771#mid=19333

祝学习愉快~

0
heixin_慕前端6235132
h 意思就是在str中只要不是以promise开头,就执行这条if语句呗?为什么去掉前面的取反(~),这条语句还是执行了,控制台还是输出了 存在1?
h020-09-11
共1条回复

好帮手慕码

2020-09-10

同学你好,includes() 方法用于判断字符串是否包含指定的子字符串,如果找到匹配的字符串则返回 true,否则返回 false,例如:

http://img.mukewang.com/climg/5f59eaa609145a4004120084.jpg

~是按位取反,可以将~符号的作用理解为与 !== -1的作用相同,不过这个运算再实际中不常用,作为扩展了解即可。

祝学习愉快~

0
heixin_慕前端6235132
h 那这个indexOf()是什么意思呢?
h020-09-10
共1条回复

0 学习 · 10739 问题

查看课程