js知识点整理 三

闭包

啥是闭包?

闭包就是把某个变量或者函数给包装起来

我们js当中会接触很多的全局变量,那如何保证我们的局部变量在执行完函数之后还存在在我们的内存当中呢?就可以使用闭包

闭包总的来说是实现了作用域,使得程序能够设计出更合理的,有层次的js代码

 

实现闭包的方式:

function f1(){

        var n = 999;

        nAdd = function(){ n+=1 }  //nAdd没有使用var,所有nAdd是一个全局变量

        function f2(){

                alert(n);

        }

        return f2;

}

var result = f1(); //只要result不消失,那么f1()函数中的n是可以通过result获取的

result(); // 999

nAdd();

result(); // 1000

 

正则

啥是正则?字符串的规则

我们可以用来校验字符串是否符合正则的规则,所以学习正则即学习如何描述字符串的规则。

常见的规则有很多,自行百度

 

创建方式

var regex = new RegExp(正则语法,"igm");

var reg =  /^([]{})([]{})([]{})$/i-g-m

修饰符igm      即ignore忽略大小写;global全局匹配,否则只会匹配第一个;multiline多行匹配

 

字符串替换的语法:

Str.replace(正则表达式,替换的内容)    //替换会替换整个符合匹配规则的内容

 

贪婪模式:

表达式

匹配结果

(d)(\w+)

"\w+" 将匹配第一个 "d" 之后的所有字符 "xxxdxxxd"

(d)(\w+)(d)

"\w+" 将匹配第一个 "d" 和最后一个 "d" 之间的所有字符 "xxxdxxx"
虽然 "\w+" 也能够匹配上最后一个 "d",但是为了使整个表达式匹配成功,
"\w+"
可以 "让出" 它本来能够匹配的最后一个 "d"


非贪婪模式: 

表达式

匹配结果

(d)(\w+?)

"\w+?" 将尽可能少的匹配第一个 "d" 之后的字符,
结果是:"\w+?" 只匹配了一个 "x"

(d)(\w+?)(d)

为了让整个表达式匹配成功,"\w+?" 不得不匹配 "xxx" 才可以让后边的 "d" 匹配,
从而使整个表达式匹配成功。因此,结果是:"\w+?" 匹配 "xxx"

 

非贪婪是尽可能少的匹配

贪婪是尽可能多的匹配


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值