老师搞不明白这个正则表达式这一条是啥意思?能否详细解释下

老师搞不明白这个正则表达式这一条是啥意思?能否详细解释下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

6回答
好帮手慕夭夭 2020-02-02 18:48:28

同学你好,这些问题就涉及到高级阶段的知识点了。

(1) 对象定义属性或者获取属性使用点语法(即obj.xx的形式),所以opts.searchClass就是获取了对象的searchClass属性。var searchClass=opts.searchClass 是定义了一个变量,并把对象的属性赋值给了searchClass。可能变量名与属性名重名了让同学产生了疑惑。

(2)如下是字面式对象的语法 ,{ }里面的叫做键值对。冒号前面是属性名 ,后面是属性值。

http://img1.sycdn.imooc.com//climg/5e36a72509efbf3f06150147.jpg

上面调用方法传入了一个对象,这个对象叫做实参。下面是定义的方法,opts就是形参。调用时,形参就会接收实参的值。例如上面的node属性,通过opts.node就会获取到属性值myUl2。

http://img1.sycdn.imooc.com//climg/5e36a7ba09ef155007270102.jpg

另外,实际开发中,低版本ie早已经不用了,所以本节课实用性不大。作为了解就行,建议同学合理安排时间,继续往下学习。如果想要更好的理解这一块的知识点,建议后续学了高级阶段的内容,再来回顾就好理解了。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

提问者 陈立天 2020-02-01 20:59:10

http://img1.sycdn.imooc.com//climg/5e3575d109ea068b04980122.jpg

还有这里也不太明白这个写法   searchName:   然后赋予“light dark”是什么意思? 这个是什么写法,它是如何传入到函数当中去 并且这段代码传入到函数当中去以后是如何运行的?

  • 提问者 陈立天 #1
    刚看到老师的回复:searchClass: "light dark"的意思是给searchClass传值,值为light dark ,那么这里的意思是这样理解么: opts."light dark"意味“opts”当中找到"light dark"这个元素?,还是说给var searchClass=opts.searchClass 当中的opts赋值“light dark”,然后在去searchClass 意味搜索class名称? 那这个自定义的属性查找是如何做到的?什么意思?不太理解
    2020-02-01 21:08:59
提问者 陈立天 2020-02-01 20:48:35

3.seachClass是老师自己定义的,可以看一下代码,它是对象的属性,这都是老师自己任意起的名字。

其他看明白了 ,就是老师回复第三条不太明白,这个传入的变量opts后面的".searchClass"还可以是自定义的吗?那他自定义后 比如 var searchClass=opts.searchClass  、node=opts.node是具体怎么运作的啊?   这句话理解为 opts他的属性么?? 这个自定义的 searchClass 等。。这些是什么属性?在哪里给它赋予了属性? 能不能说下这个自定义的属性在代码中运行的流程是怎么样的?

好帮手慕夭夭 2020-01-31 19:39:46

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

  1. 对于问题中的正则,理解的正确。

  2. 你弄混了,+\v1只是用来判断浏览器兼容的,它不是一个正则。ie浏览器中\v会解析成v, +"\v1"就是+"v1"。在进行加法运算时,“v1”它不能转换为数字,所以它返回的是NaN 。

    而\s是一个正则,它匹配一个空格。

  3. seachClass是老师自己定义的,可以看一下代码,它是对象的属性,这都是老师自己任意起的名字。

    http://img1.sycdn.imooc.com//climg/5e3410d209b1b02207050160.jpg

  4. tag 为 * 时,表示查找所有class然后返回,不去管是什么标签。相反在不为*时,表示必须标签(tag)和class都符合才匹配。

  5. 通过如下注释理解

    http://img1.sycdn.imooc.com//climg/5e3411d0099096eb11090461.jpg

    如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

提问者 陈立天 2020-01-29 18:48:33

http://img1.sycdn.imooc.com//climg/5e3162ed0969dd0520940399.jpg

这个检测正则表达式不太明白

提问者 陈立天 2020-01-29 18:12:07

这个^意思是开头? 然后这个|表示或的意思?那这个转义符\\ 为什么有2个转义符?\s在除了IE浏览器中他表示空格的意思 前面加多一个转义符干嘛用的?意思是避免和“|”这个冲突么? 这段代码等号右边括号内的内容可以理解为  :“直接以搜索的class类名开头或空格”+“ 搜索的class类名”+“直接以搜索的class类名结束或空格”  符合这几种格式的class类名的搜索么? 那么问题来了 这个"^"和“$”在代码中是不是分别代表该需要搜索的class名或存在直接以该class类名开头或直接以class名结尾的搜索可能?是不是这样理解?

  • 提问者 陈立天 #1
    之前的课程好像学习到IE浏览器对+\v1 好像是转换为NaN的,为什么在这里课程讲到的是IE浏览器的\s会变成空格呢?
    2020-01-29 18:21:21
  • 提问者 陈立天 #2
    我知道了 原来\\ 第一个\是转义字符 第二个\才是连接的\s ,那么为什么转换后在IE浏览器会是空格呢
    2020-01-29 18:22:48
  • 提问者 陈立天 #3
    还有个问题就是 十个ipts.seachClass 的.seachClass是一个方法么? 我在W3C上找不到这个方法的描述
    2020-01-30 10:16:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师