TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货JS函数和正则表达式思维导图

JS函数和正则表达式思维导图

  收藏
  分享
免费下载
免费使用文件
大灰 浏览量:122022-11-20 09:43:19
已被使用0次
查看详情JS函数和正则表达式思维导图

JAVASCRIPT基础知识点——JS函数和正则表达式

树图思维导图提供 JS函数和正则表达式 在线思维导图免费制作,点击“编辑”按钮,可对 JS函数和正则表达式  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:5188c2d12c10c3cac31387bc88a33269

思维导图大纲

JS函数和正则表达式思维导图模板大纲

函数

函数定义

函数实际上是对象,每个函数都是 Function 构造函数的实例

函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定

三种写法

// 写法一:函数声明(推荐写法) function sum (num1, num2) { return num1 + num2; }

// 写法二:函数表达式(推荐写法)var sum = function(num1, num2){ return num1 + num2; };

// 写法三:Function 构造函数(不推荐写法)var sum = new Function(

没有重载

声明两个同名函数,后面的函数会覆盖前面的函数

函数声明与函数表达式

解析器在向执行环境中加载数据时,对「函数声明」和「函数表达式」并非一视同仁

解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问)

至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行

除了上述区别之外,「函数声明」与「函数表达式」的语法是等价的

作为值的函数

不仅可以像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的结果返回

函数的形参和实参

arguments :类数组对象,包含着传入函数中的所有参数

callee 属性,该属性是一个指针,指向拥有这个 arguments 对象的函数

this 对象:引用的是函数据以执行的环境对象(当在网页的全局作用域中调用函数时,this 对象引用的就是 window)

ECMAScript 5 也规范化了另一个函数对象的属性 caller,这个属性中保存着「调用当前函数的函数的引用」,如果是在全局作用域中调用当前函数,它的值为 null

函数的属性和方法

length 属性表示函数希望接收的命名参数的个数

prototype 是保存它们所有实例方法的真正所在

apply() 方法用途是在特定的作用域中调用,接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组

call() 方法与 apply() 方法的作用相同,它们的区别仅在于接收参数的方式不同。对于 call() 方法而言,第一个参数是 this 值没有变化,变化的是其余参数都直接传递给函数

传递参数并非 apply() 和 call() 真正的用武之地;它们真正强大的地方是能够扩充函数赖以运行的作用域

正则表达式

正则表达式定义

JavaScript 中的正则表达式用 RegExp 对象表示

// 推荐写法var expression = / pattern / flags ;

// 不推荐写法var expression = new RegExp(pattern, flags);

匹配模式支持下列3个标志

g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止;

i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;

m:表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项。

所有元字符都必须转义:( [ { \ ^ $ | ) ? * + . ] }

RegExp 实例属性

global:布尔值,表示是否设置了 g 标志。

ignoreCase:布尔值,表示是否设置了 i 标志。

lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起。

multiline:布尔值,表示是否设置了 m 标志。

source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

RegExp 实例方法

exec() :接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回 null

返回的数组虽然是 Array 的实例,但包含两个额外的属性:index 和 input

index 表示匹配项在字符串中的位置,而 input 表示应用正则表达式的字符串

在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)

RegExp 构造函数属性

input $_ 最近一次要匹配的字符串。Opera未实现此属性。

lastMatch $& 最近一次的匹配项。Opera未实现此属性。

lastParen $+ 最近一次匹配的捕获组。Opera未实现此属性。

leftContext $` input字符串中lastMatch之前的文本。

multiline $* 布尔值,表示是否所有表达式都使用多行模式。IE和Opera未实现此属性。

rightContext $' Input字符串中lastMatch之后的文本。

模式的局限性

JavaScript 正则表达式所不支持的特性

匹配字符串开始和结尾的\A和\Z锚

向后查找(lookbehind)

并集和交集类

原子组(atomic grouping)

Unicode支持(单个字符除外,如\uFFFF)

命名的捕获组

s(single,单行)和x(free-spacing,无间隔)匹配模式

条件匹配

正则表达式注释

相关思维导图模板

做一个研究型的教师:中小学教师如何做课题和写论文(岭南师范学院 刘惠卿)2023.01.26   彭深惠思维导图

树图思维导图提供 做一个研究型的教师:中小学教师如何做课题和写论文(岭南师范学院 刘惠卿)2023.01.26 彭深惠 在线思维导图免费制作,点击“编辑”按钮,可对 做一个研究型的教师:中小学教师如何做课题和写论文(岭南师范学院 刘惠卿)2023.01.26 彭深惠  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d2910525142de5e474dd0386e2319ca8

被子植物的一生(要经历种子的萌发,植株的生长、发育、繁殖、衰老和死亡的过程)88页思维导图

树图思维导图提供 被子植物的一生(要经历种子的萌发,植株的生长、发育、繁殖、衰老和死亡的过程)88页 在线思维导图免费制作,点击“编辑”按钮,可对 被子植物的一生(要经历种子的萌发,植株的生长、发育、繁殖、衰老和死亡的过程)88页  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d1f092de253261f8cd87e5cd3ae49979