javascript 学习要点
来源:互联网 发布:剑三炮哥成男脸型数据 编辑:程序博客网 时间:2024/05/22 17:07
函数
1、每个函数对象在创建时随带有一个prototype属性,它的值是一个拥有constructor属性且值为该函数的对象;这和隐藏链接到Function.prototype完全不同。到底有什么不同呢,且看下次分解
2、在js中函数有四种调用模式:方法调用模式,函数调用模式,构造器调用模式和apply调用模式;
如果在一个函数前面带上new来调用,那么将创建一个隐藏连接到该函数的prototype成员的新对象,同时this将会绑定到那个新对象上;
通过new前缀的方式来调用一个函数,且该函数的返回值不是一个对象,则返回this(该新对象);
正则表达式
1、捕获型
括号匹配:(x),匹配x并记住这个匹配
比如在模式/(for) (bar) \1 \2/中,(for)和(bar)匹配字符串"for bar for bar"中的第一个和第二个单词,\1和\2匹配最后两个单词;
var reg = /(foo) (bar) \1 \2/;var result = reg.exec("foo bar foo bar");result is["foo bar foo bar", "foo", "bar"]
var reg = /(foo) (bar)/;var result = reg.exec("foo bar foo bar");undefinedresult["foo bar", "foo", "bar"]
2、非捕获型
(?:x):匹配x但不记住该匹配
var reg = /(?:foo) (?:bar)/;var result = reg.exec("foo bar foo bar");undefinedresult["foo bar"]
可以看到,结果少了两项:match1和match2
3、向前正向匹配
x(?=y):表示x后面紧跟着y,但y不在匹配结果中;匹配后,文本将倒回到它开始的地方,实际上并不匹配任何东西
var reg = /foo(?=bar)/;var result = reg.exec("foobar foobar");undefinedresult["foo"]
4、向前负向匹配
x(?!y):x后面紧跟着的不是y;类似于向前正向匹配,但只有当它匹配失败时它才进行匹配;
var result = /\d+(?!\.)/.exec("3.141")undefinedresult["141"]
可以看到y不在匹配结果中
5、x|y:匹配x或y
var result = /green|red/.exec('red apple')undefinedresult["red"]
0 0
- javascript 学习要点
- javascript 要点学习笔记
- javascript学习要点
- JavaScript学习要点(一)
- JavaScript学习要点(二)
- JavaScript学习要点(三)
- JavaScript学习要点(四)
- JavaScript学习要点(五)
- JavaScript学习要点(六)
- JavaScript学习要点(七)
- JavaScript学习要点(八)
- JavaScript学习要点(九)
- JavaScript学习要点(十)
- JavaScript学习要点(十一)
- JavaScript学习要点(十二)
- JavaScript学习要点(十三)
- javascript学习基础要点(一)
- javascript学习基础要点(二)
- Swingbench介绍
- 比较喜欢的登录方式 20131224
- jsoneditoronline
- ubuntu下文件夹新建、删除命令
- 程序员技术练级攻略
- javascript 学习要点
- charindex 是否会消除索引
- RequiredFieldValidato控件
- ios7里令label文字居中
- GBK 、GB2312 、GB18030 、UTF-8 、UTF-16的区别
- 老外的项目开发在线服务网站资源
- Android4.0 SurfaceTexture
- CustomValidator控件
- 广州传智播客老师分享:学了.Net能做什么开发