首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >理解jquery构建片段中数组语法的用法

理解jquery构建片段中数组语法的用法
EN

Stack Overflow用户
提问于 2015-07-04 17:48:39
回答 1查看 163关注 0票数 0

我正在浏览jQuery碎片整理方法,并看到了下面的代码行:

代码语言:javascript
运行
AI代码解释
复制
tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase();

这一行代码到底在做什么?有人能解释一下吗?从左到右,我看到了一个变量赋值,使用了exec方法,使用了||运算符,然后是令人困惑的部分,[["", ""]]是什么,这到底是为了什么?

我已经浏览了几次jQuery源代码,并在网上阅读了几篇文章。

  1. DOM管理
  2. jQuery碎片

但我还是不明白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-04 17:54:47

.exec()是一种正则表达式方法:

exec()方法在指定的字符串中执行匹配搜索。返回结果数组,或null。

这里是|| 如何工作

此方法返回的结果要么是数组,要么是null。如果返回一个数组,则["", ""]部件将被丢弃,其结果数组将用于表达式的其余部分。否则,生成的null将被丢弃,表达式的其余部分将使用["", ""]

例如,假设rtagName.exec(elem)返回:

代码语言:javascript
运行
AI代码解释
复制
["we", "Quir", "idid"]

那么表达式的结果将是:

代码语言:javascript
运行
AI代码解释
复制
(["we", "Quir", "idid"] || ["", ""])[1].toLowerCase()

(["we", "Quir", "idid"])[1].toLowerCase()

"Quir".toLowerCase()

"quir"    //final result

否则,最终结果将是"":

代码语言:javascript
运行
AI代码解释
复制
(null || ["", ""])[1].toLowerCase()

(["",""])[1].toLowerCase()

"".toLowerCase()

""    //final result

以下是简单的对等词:

代码语言:javascript
运行
AI代码解释
复制
var x = rtagName.exec(elem);
var tag;
if( x ) {
    tag = x[1].toLowerCase();
} else {
    tag = "";
}

如果没有|| ["",""],您就有可能得到(null)[1].toLowerCase(),它会抛出一个错误,这会导致代码失败。由于.exec()方法主要涉及搜索字符串以寻找匹配,所以要么找到匹配,要么找不到;["", ""]允许您返回"“(空字符串) --而不是抛出错误--当没有找到匹配时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31226548

复制
相关文章
JSON数组的概念、语法和用法
JSON(JavaScript Object Notation)是一种常用的数据格式,它以键值对的形式表示数据。除了支持对象类型的数据,JSON还提供了数组类型,用于表示一组有序的数据集合。本文将详细介绍JSON数组的概念、语法和用法,并且提供一些实际应用场景作为示例。
网络技术联盟站
2023/07/07
2.1K0
jQuery中$.fn的用法
在jQuery插件中,常常看见这样的结构,开始自己也是不理解后来通过查阅资料,慢慢的理解其中的大意,所以先总结出来。
用户1349575
2022/03/18
1.6K0
jquery中load的用法
调用load方法的完整格式是:load( url, [data], [callback] ),其中
OECOM
2020/07/01
1.1K0
理解jquery的$.extend & $.fn.extend用法
jQuery为开发插件提拱了两个方法,分别是: 1、jQuery.fn.extend(); //dom方法 2、jQuery.extend(); // 工具方法 ---- jQuery.fn jQuery.fn = jQuery.prototype = { init: function( selector, context ) { //…. //…… }; } 原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌
连胜
2018/03/07
1.5K0
shell中的(),{}几种语法用法
查看脚本语法是否有错误: bash -n modify_suffix.sh 跟踪执行 sh -x modify_suffix.sh aaa
charlieroro
2020/03/24
6930
10 个实用的jQuery 代码片段
1. 图片预加载    (function($) { var cache = []; // Arguments are image paths relative to the current page. $.preLoadImages = function() { var args_len = arguments.length; for (var i = args_len; i--;) { var cacheImage = document.createElement
用户7705674
2021/09/24
7200
jQuery的用法
我们知道使用js获取标签元素,需要页面加载完成以后再获取,我们通过给onload事件属性设置了一个函数来获取标签元素,而jquery提供了ready函数来解决这个问题,保证获取标签元素没有问题,它的速度比原生的 window.onload 更快。
落雨
2022/03/01
29.1K0
jQuery 语法
通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。
陈不成i
2021/07/21
3830
JQuery语法
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
用户3159471
2018/09/13
4080
[jQuery笔记] jQuery语法
jquert语法通常是选取html元素,并对所则的元素执行某些操作(actions)
行 者
2019/12/05
3620
java中Array(数组)的用法
数组是作为对象来实现的。(really occupy the memopry,真实的占用内存 )
马克java社区
2021/03/08
6360
java中Array(数组)的用法
Python中数组用法大全
# print "Create a simple list" simpleList = ["Karmic", "Lucid", "Hardy", "Jaunty", "Intrepid"]
用户7999227
2021/11/03
5760
数组中Array.from的用法
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
默默的成长
2022/12/07
4710
jQuery 基本语法
jQuery,一个 JavaScript 库,极大地简化了 JavaScript 编程,很容易学习。它是一款同prototype、Note.js等一样优秀的js开发库类,特别是对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优秀的js效果,jQuery可以帮你达到目的!
阳光岛主
2019/02/19
3.9K0
jQuery 基本语法
10个jQuery表单操作代码片段
大家可能在表单的操作中需要防止用户意外的提交表单,那么下面这段代码肯定非常有帮助:
用户7705674
2021/09/23
9720
全面理解python中self的用法
从上面的例子中可以很明显的看出,self代表的是类的实例。而self.class则指向类。
狼啸风云
2020/03/28
12.4K0
12个用得着的JQuery代码片段
在项目的前端页面里,相对于其它的导航菜单,激活的导航菜单需要设置不同的背景。这种效果实现的方式有很多种,下面是使用JQuery实现的一种方式:
用户1503405
2021/09/27
1.2K0
高效Web开发的10个jQuery代码片段
高效Web开发的10个jQuery代码片段 在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库。今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发
牛嗷嗷
2018/03/30
1K0
JavaScript中的async/await的用法和理解
昨天更新的是“JavaScript中的Promise使用详解”,其实也就是说了下基本用法和自己对Promise的理解,可能有错误之处,也欢迎指出。今天就说一说“JavaScript中的async/await的用法和理解”
青年码农
2020/11/11
1.3K0
JavaScript中的async/await的用法和理解
jquery当中append的用法
例 1.5(appendhtml.html) <html> <head> <title>append()方法</title> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> $(function(){     //马克-to-win:add就是又多加了一个元素到集合当中。     $("p:eq(4)").add("p:eq(0)").append("<b>这段应出现在最后</b>"); }); </script> </head> <body>     <p>这是第一行</p>     <p>这是第二行</p>     <p>这是第三行</p>     <p>这是第四行</p>     <p>马克-to-win</p> </body> </html>
马克java社区
2021/02/01
1.6K0
jquery当中append的用法

相似问题

理解jQuery语法?:

42

Jquery :理解语法

20

无法理解以下代码片段中break master的用法

20

jquery noConflict的用法:断言我的理解

36

理解JavaScript/jQuery代码片段

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档