javascript权威指南Word格式.docx
- 文档编号:15228745
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:17
- 大小:66.30KB
javascript权威指南Word格式.docx
《javascript权威指南Word格式.docx》由会员分享,可在线阅读,更多相关《javascript权威指南Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
5;
i++)console.log(uniqueInteger());
结果是:
0,1,2,3,4
私有变量不仅仅可以在一个闭包内:
functioncounter(){
varn=0;
return{
count:
function(){returnn++;
},
show:
function(){console.log(n);
reset:
function(){n=0;
};
varc=counter(),
d=counter();
c.count();
d.count();
c.show();
//1
d.show();
c.reset();
//2
每次调用counter都会创建一个新的作用域链和一个新的私有变量,所以c和d之间互不影响。
例子:
利用闭包实现的私有属性存取器方法
functionaddPrivateProperty(o,name,predicate){
varvalue;
o["
get"
+name]=function(){returnvalue;
set"
+name]=function(v){
if(predicate&
!
predicate(v))
throwError("
+name+"
:
invalidvalue"
+v);
elsevalue=v;
varo={};
addPrivateProperty(o,"
Name"
function(x){returntypeofx=="
string"
;
});
o.setName("
Frank"
);
console.log(o.getName());
o.setName(0);
//试图设置一个错误类型的值。
函数式编程的例子:
一个数组的元素都是数字,计算这些元素的平均值和标准差。
vardata=[1,1,3,5,5];
varsum=function(x,y){returnx+y;
varsqare=function(x){returnx*x;
varmean=data.reduce(sum)/data.length;
vardeviations=data.map(function(x){returnx-mean;
varstddev=Math.sqrt(deviations.map(sqrt).reduce(sum)/(data.length-1));
Javascript的数组方法
join()连接数组为字符串
reverse()返回逆向的数组
sort()对数组进行排序
concat()连接数组
slice()返回数组的片段或子数组
splice()在数组中插入或删除元素
push()在数组尾部插入一个或多个元素,并返回数组的长度
pop()删除数组最后一个元素,并返回删除的值
unshift()在数组头部插入一个或多个元素,并返回数组的长度
shift()删除数组第一个元素,并返回删除的值
toString()和toLocalString()
新增的方法:
1forEach()从头到尾遍历数组,为每个元素调用指定的函数。
vardata=[1,2,3,4,5];
varsum=0;
data.forEach(function(value){sum+=value;
sum最后为15
data.forEach(function(v,i,a){a[i]=v+1;
data变为2,3,4,5,6
函数参数中第一个为数组元素的值,第二个为索引,第三个为数组本身。
2map()将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值
a=[1,2,3];
b=a.map(function(x){returnx*x;
3filter()返回数组的一个子集,依据是传递给它的函数
a=[5,4,3,2,1];
small=a.filter(function(x){returnx<
3;
small为[2,1]
4every()和some()
判断数组元素是否满足某个条件
a=[1,2,3,4,5];
a.every(function(x){returnx<
10;
//true,所有的值都小于10
a.some(function(x){returnx<
0;
//false;
所有的值都为正数
⑤reduce()和reduceRight()
使用指定的函数将数组元素进行组合,生成单个值。
vara=[1,2,3,4,5];
varsum=a.reduce(function(x,y){
returnx+y;
},0);
//求和
varproduct=a.reduce(function(x,y){
returnx*y;
},1);
//求积
varmax=a.reduce(function(x,y){
returnx>
y?
x:
y;
//求最大值
对于传递给reduce的函数,在第一次调用该函数时,第一个参数x是初始值,它就是reduce的第二个参数。
如果reduce没有接受第二个参数,就把数组的第一个元素当作初始值。
reduceRright()与reduce()相似,不过它从右边执行。
5indexOf()和lastIndexOf()
返回参数在数组中的索引。
第一个参数是要搜索的值,第二个参数可选,是数组的一个索引,表示从那里开始搜索。
Javascript的正则表达式
10.1正则表达式的定义
可以使用两种方法定义正则表达式:
直接量定义法:
varpattern=/s$/;
使用构造函数:
varpattern=newRegExp(“s$”);
正则表达式的字符直接量:
字母和数字字符
自身
\o
NUL字符
\t
制表符
\n
换行符
\v
垂直制表符
\f
换页符
\r
回车符
\xnn
由十六进制数nn制定的拉丁字母,例如:
\x0A等价于\n
\uxxxx
由十六进制数xxxx制定的Unicode字符
\cX
控制字符^X,例如:
\cJ等价于换行符\n
以下的标点符号具有特殊含义:
^$.*+?
=!
:
|/\()[]{}
匹配它们时需要在前面加上前缀\
字符类
字符
匹配
[…]
方括号里的任意字符
[^…]
不在方括号里的任意字符
.
除了换行符和其他Unicode行终止符之外的任意字符
\W
任何不是ASCII字符组成的单词,等价于[^a-zA-Z0-9]
\w
任何ASCII字符组成的单词,等价于[a-zA-Z0-9]
\S
任何非Unicode空白符的字符。
\s
任何Unicode空白符
\D
除了ASCII数字之外的任何字符,等价于[^0-9]
\d
任何ASCII数字,等价于[0-9]
[\b]
退格直接量
重复
含义
{n,m}
匹配前一项至少n次,但不能超过m次
{n,}
匹配前一项n次,或更多次
{n}
匹配前一项n次
?
匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}
+
匹配前一项1次或多次,等价于{1,}
*
匹配前一项0次或多次,等价于{0,}
选择、分组和引用
|
选择,匹配的是该符号左边的子表达式或右边的子表达式
(…)
组合,将几个项组合为一个单元,这个单元可以通过“*”、“+”、“?
”和”|”等符号加以修饰,而且可以记住和这个组合相匹配的字符串以供此后的引用使用
(?
…)
只组合,把项组合到一个单元,但不记忆与该组相匹配的字符
和第n个分组第一次匹配的字符相匹配,组是圆括号中的子表达式(也有可能是嵌套的),索引是从左到右的左括号数,“(?
”形式的分组不编码
匹配指定的位置
锚元素有一些正则表达式的元素匹配的是字符之间的位置,而不是实际的字符。
^
匹配字符串的开头,在多行检测中,匹配一行的开头
$
匹配字符串的结尾,在多行检测中,匹配一行的结尾
\b
匹配一个单词的边界,简言之,就是位于字符\w和\W之间的位置,或位于字符\w和字符串开头或者结尾之间的位置(注意[\b]匹配的是退格符)。
\B
匹配非单词边界的位置
=p)
零宽正向先行断言,要求接下来的字符都与p匹配,但不能包括匹配p的那些字符
p)
零宽负向先行断言,要求接下来的字符不与p匹配。
修饰符修饰符放在“/”符号之外
i
执行不区分大小写的匹配
g
执行全局匹配
m
多行匹配模式,^匹配一行的开头和字符串的开头,$匹配行的结束和字符串的结束
脚本化CSS
1.css可以使用/*和*/进行注释
2.样式有三种:
内联样式文档的样式表web浏览器的默认样式它们的优先级依次下降相互覆盖。
3.连接外部的css文件
<
linkrel=”stylesheet”href=”mystyles.css”type=”text/css”>
4.复合属性
font:
bolditalic24pthelvetica;
5.如果元素有id如:
divid=”hello”>
/div>
使用#hello。
若使用
div{
…
就可以为所有的div元素进行设置
.warn{
就对class=”warn”的元素进行设置
6.CSS指定位置和大小属性是有单位的,px像素in英寸cm厘米pt点
7.文本阴影text-shadow
8.边框
border:
solidblack1px;
border-bottom:
只设置元素的下边框
border-top-width:
设置元素的上边框的宽度
border-top-right-radius:
设置右上的圆角
margin:
设置外边距
padding:
设置内边距
paddig:
1px2px3px4px;
这等价于:
padding-top:
1p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javascript 权威 指南