JS高级程序设计2nd部分知识要点5

JS Regexp 字面量模式 用\反斜杠转义 构造函数中的字符串 也用\转义正则也用\

RegExp实例属性

global -布尔值  /g

ignoreCase -布尔值 /i

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

multiline -布尔值 /m

source -正则表达式的字符串

RegExp实例方法

exec() 接受一个参数(要应用模式的字符串) ,然后返回包含第一个匹配信息的数组,没匹配近回null,返回的数组包含两个额外的属性:index 和 input. index 表示匹配项在字符串中的位置,input表示应用正则表达式的字符串。

例子:
var text="mom and dad and baby";
var pattern=/mom( and dad( and baby)?)/gi;

var matches=pattern.exec(text);
alert(matches.index) //0
alert(matches.input) //mom and dad and baby
--------------------------------------------------------------------------------

匿名函数

函数声明与函数表达工之间的主要区别,前者会在执行代码以前被加载到作用域中,而后者则是在代码执行到那一行的时候才会有定义。另一个重要区别是函数声明会给函数指定一个名字,而函数表达工则是创建一个匿名函数,然后把这个匿名函数赋给一个变量。

构造函数模式的缺点是针对每个实例都会创建同样一组新方法。

模块模使用环境: 如果必须创建一个对象并以某些数据对其进行初始化,同时还要公开一些能够访问这些私有数据的方法。

时间: 2024-10-05 09:46:52

JS高级程序设计2nd部分知识要点5的相关文章

JS高级程序设计2nd部分知识要点7

例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="myDiv">Click me</div> </body> </html>

JS高级程序设计2nd部分知识要点3

对象转换方法:1> toLocaleString(),2> toString(),ValueOf()方法会返回相同的值 栈方法是 LIFO (后进先出)的数据结构 -push ,pop 方法 队列方法是 FIFO(先进先出)的数据结构 - shift , push,unshift,pop方法(IE对Javascript的实现中存在一个偏差,其unshift()方法总是返回undefined而不是数组的长度.) slice()方法-能够基于当前数组中的一个或多个项创建一个新数组.可以接受一或两个

JS高级程序设计2nd部分知识要点1

保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机的将浮点数值转换为整数值 浮点数值的最高精度是17位小数 parseInt 字符串转换为数值,可传基数(8,16) parseFloat 同上 区别:parseFloat始终会忽略前导的零,只解析十进制的值,16进制的字符串始终会转换成0. 后置递增和递减与前置递增递减重要的区别:递增与递减操作是在包含它们的语句被求值之后才执行的 示例: var num1=2;var num2=20; var num3=num1--

JS高级程序设计2nd部分知识要点4

ECMAScript中所有函数的参数都是按值传递的. 5种基本数据类型: Undfined,Null,Boolean,Number,String. ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数. 函数声明会优先于函数表达式被解析器解析,函数表达式则必须笔等到解析器执行到它所在的代码行,才会真正被解释执行. 例子: alert(sum(10,10)); function sum(num1,num2){ return num1+num2; } ----------------

&lt;JS高级程序设计3&gt;_PART3

1.ECMAScript中所有数都以IEEE-754 64位格式存储,但位操作符不直接操作64位的值.是先64位转换成32位的整数,再操作,得到结果再转成64位. 2.首位是符号位.之后的31位代表整数的值. 3.用toString(2)打印二进制,得到的是被处理过的二进制. 4.按位非(NOT)~,数转成二进制,取反.相当于把操作数先变负再-1; 5.按位与(AND)&,两个数的二进制,有一个0结果就是0,两个都是1才为1. 6.按位或(OR)|,有一个1结果为1,都是0才为0. 7.按位异或

&lt;JS高级程序设计3&gt;_PART4

1.基本数据类型:Undefined,null,Number,String,Boolean.引用数据类型:保存在内存中的对象. 2.JS不允许直接访问内存中的位置,不能直接操作对象的内存空间.所以操作对象时,实际上是操作的对象的引用,而不是实际的对象. 3. var num1 = 1; var num2 = num1; 一个基本类型的变量向另一个赋值时,执行了复制操作,两个变量互不影响. var obj1 = new Object(); var obj2 = obj1; obj1.age = 2

读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){ drawing.getContext("2d"

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函数和一个布尔值.最有这个布尔值参数是true,表示在捕获阶段调用事件处理程序:如果是false,表示在冒泡阶段调用事件处理程序. 要在按钮上为click事件添加事件处

JS高级程序设计拾遗

<JavaScript高级程序设计(第三版)>反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的.记不清的地方记录下来,方便以后巩固. 0. <script>元素属性 async表示立即下载脚步,但不应该妨碍页面中其他操作: defer表示延迟到文档完全被解析和显示之后再执行.这两个属性都仅适用于外部脚步,而且现实中脚步不一定按顺序执行.指定async属性的目的是不让页面等待脚步下载和执行. 最好只包含一个延迟脚本,把延迟脚本放在页面最底部仍然是最佳选择.