JavaScript总结

JavaScript总结

所有对象的属性和方法:

Array 对象

Array 对象用于在单个的变量中存储多个值。

创建 Array 对象的语法:

new Array();
new Array(size);
new Array(element0, element0, ..., elementn);

Array 对象属性

FF: Firefox, IE: Internet Explorer

属性描述FFIE
constructor返回对创建此对象的数组函数的引用。14
index 14
input 14
length设置或返回数组中元素的数目。14
prototype使您有能力向对象添加属性和方法。14

Array 对象方法

FF: Firefox, IE: Internet Explorer

方法描述FFIE
concat()连接两个或更多的数组,并返回结果。14
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。14
pop()删除并返回数组的最后一个元素15.5
push()向数组的末尾添加一个或更多元素,并返回新的长度。15.5
reverse()颠倒数组中元素的顺序。14
shift()删除并返回数组的第一个元素15.5
slice()从某个已有的数组返回选定的元素14
sort()对数组的元素进行排序14
splice()删除元素,并向数组添加新元素。15.5
toSource()返回该对象的源代码。1-
toString()把数组转换为字符串,并返回结果。14
toLocaleString()把数组转换为本地数组,并返回结果。14
unshift()向数组的开头添加一个或更多元素,并返回新的长度。16
valueOf()返回数组对象的原始值14

Boolean 对象

Boolean 对象表示两个值:"true" 或 "false"。

创建 Boolean 对象的语法:

new Boolean(value);       //构造函数
Boolean(value);          //转换函数

Date 对象

Date 对象用于处理日期和时间。

创建 Date 对象的语法:

var myDate=new Date()

注释:Date 对象会自动把当前日期和时间保存为其初始值。


Math 对象

Math 对象用于执行数学任务。

使用 Math 的属性和方法的语法:

var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);

注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。


Number 对象

Number 对象是原始数值的包装对象。

创建 Number 对象的语法:

var myNum=new Number(value);
var myNum=Number(value);

String 对象

String 对象用于处理文本(字符串)。

创建 String 对象的语法:

new String(s);
String(s);

参数

参数 s 是要存储在 String 对象中或转换成原始字符串的值。

String 对象属性

FF: Firefox, IE: Internet Explorer

属性描述FFIE
constructor对创建该对象的函数的引用14
length字符串的长度13
prototype允许您向对象添加属性和方法14

String 对象方法

FF: Firefox, IE: Internet Explorer

方法描述FFIE
anchor()创建 HTML 锚。13
big()用大号字体显示字符串。13
blink()显示闪动字符串。1 
bold()使用粗体显示字符串。13
charAt()返回在指定位置的字符。13
charCodeAt()返回在指定的位置的字符的 Unicode 编码。14
concat()连接字符串。14
fixed()以打字机文本显示字符串。13
fontcolor()使用指定的颜色来显示字符串。13
fontsize()使用指定的尺寸来显示字符串。13
fromCharCode()从字符编码创建一个字符串。14
indexOf()检索字符串。13
italics()使用斜体显示字符串。13
lastIndexOf()从后向前搜索字符串。13
link()将字符串显示为链接。13
localeCompare()用本地特定的顺序来比较两个字符串。14
match()找到一个或多个正在表达式的匹配。14
replace()替换与正则表达式匹配的子串。14
search()检索与正则表达式相匹配的值。14
slice()提取字符串的片断,并在新的字符串中返回被提取的部分。14
small()使用小字号来显示字符串。13
split()把字符串分割为字符串数组。14
strike()使用删除线来显示字符串。13
sub()把字符串显示为下标。13
substr()从起始索引号提取字符串中指定数目的字符。14
substring()提取字符串中两个指定的索引号之间的字符。13
sup()把字符串显示为上标。13
toLocaleLowerCase()把字符串转换为小写。--
toLocaleUpperCase()把字符串转换为大写。--
toLowerCase()把字符串转换为小写。13
toUpperCase()把字符串转换为大写。13
toSource()代表对象的源代码。1-
toString()返回字符串。--
valueOf()返回某个字符串对象的原始值。14

RegExp 对象

RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。

直接量语法

/pattern/attributes

创建 RegExp 对象的语法:

new RegExp(pattern, attributes);

参数

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

返回值

一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。

如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。

抛出

SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。

TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。

修饰符

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

方括号

方括号用于查找某个范围内的字符:

表达式描述
[abc]查找方括号之间的任何字符。
[^abc]查找任何不在方括号之间的字符。
[0-9]查找任何从 0 至 9 的数字。
[a-z]查找任何从小写 a 到小写 z 的字符。
[A-Z]查找任何从大写 A 到大写 Z 的字符。
[a-Z]查找任何从小写 a 到大写 Z 的字符。
[adgk]查找给定集合内的任何字符。
[^adgk]查找给定集合外的任何字符。
[red|blue|green]查找任何指定的选项。

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符描述
.查找单个字符,除了换行和行结束符。
\w查找单词字符。
\W查找非单词字符。
\d查找数字。
\D查找非数字字符。
\s查找空白字符。
\S查找非空白字符。
\b查找位于单词的开头或结尾的匹配。
\B查找不处在单词的开头或结尾的匹配。
\0查找 NUL 字符。
\n查找换行符。
\f查找换页符。
\r查找回车符。
\t查找制表符。
\v查找垂直制表符。
\xxx查找以八进制数 xxx 规定的字符。
\xdd查找以十六进制数 dd 规定的字符。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。

量词

量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。
n{X}匹配包含 X 个 n 的序列的字符串。
n{X,Y}匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,}匹配包含至少 X 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串。
^n匹配任何开头为 n 的字符串。
?=n匹配任何其后紧接指定字符串 n 的字符串。
?!n匹配任何其后没有紧接指定字符串 n 的字符串。

RegExp 对象属性

FF: Firefox, IE: Internet Explorer

属性描述FFIE
globalRegExp 对象是否具有标志 g。14
ignoreCaseRegExp 对象是否具有标志 i。14
lastIndex一个整数,标示开始下一次匹配的字符位置。14
multilineRegExp 对象是否具有标志 m。14
source正则表达式的源文本。14

RegExp 对象方法

FF: Firefox, IE: Internet Explorer

方法描述FFIE
compile编译正则表达式。14
exec检索字符串中指定的值。返回找到的值,并确定其位置。14
test检索字符串中指定的值。返回 true 或 false。14

支持正则表达式的 String 对象的方法

FF: Firefox, IE: Internet Explorer

方法描述FFIE
search检索与正则表达式相匹配的值。14
match找到一个或多个正则表达式的匹配。14
replace替换与正则表达式匹配的子串。14
split把字符串分割为字符串数组。14








事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。

事件句柄

HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。

FF: Firefox, N: Netscape, IE: Internet Explorer

属性当以下情况发生时,出现此事件FFNIE
onabort图像加载被中断134
onblur元素失去焦点123
onchange用户改变域的内容123
onclick鼠标点击某个对象123
ondblclick鼠标双击某个对象144
onerror当加载文档或图像时发生某个错误134
onfocus元素获得焦点123
onkeydown某个键盘的键被按下143
onkeypress某个键盘的键被按下或按住143
onkeyup某个键盘的键被松开143
onload某个页面或图像被完成加载123
onmousedown某个鼠标按键被按下144
onmousemove鼠标被移动163
onmouseout鼠标从某元素移开144
onmouseover鼠标被移到某元素之上123
onmouseup某个鼠标按键被松开144
onreset重置按钮被点击134
onresize窗口或框架被调整尺寸144
onselect文本被选定123
onsubmit提交按钮被点击123
onunload用户退出页面123



基于对象和事件的脚本语言

特点:

安全性:不允许直接访问本地硬盘,可做的就是信息的动态交互

跨平台性:只要可以解析JS的浏览器就可执行,与平台无关

JavaScript与Java的不同:

1、js是NetScape的产品,Java是SUN的产品

2、js是基于对象的,Java是面向对象的

3、js只需解释就可执行,Java需要先编译成字节码文件后再执行

4、js是弱类型语言,Java是强类型的

5、js是非严谨的,Java是严谨的


JavaScript与HTML代码的结合方式:任何代码要融入HTML代码中都是通过标签形式

1、将js代码存放在标签对<script></script>中,规范要求加type属性,以前是language属性

<script type=text/javascript> js代码 </script>

2、将js代码封装成js文件,提高复用性

<script type=text/javascript src=1.js></script>

变量通过关键字var定义,弱类型语言不需要指定具体数据类型

特殊常量:undefined  变量没有初始化时值就是它

数组:var arr = [1, 2, abc, 3.53] 数组长度是可变的,没有越界问题,其他值为undefined

var arr = new Array() 数组内可存放任意类型元素,推荐元素类型一致

var arr = [[1, 0, 3], [true, abc]]; 二维数组

js中的数组就相当于Java中的集合

函数:function 函数名(参数列表){js代码}

JavaScript函数没有重载形式,参数可随意传递,函数内部默认有一个arguments数组用来接收传入的参数,参数个数尽量保持一致

alert(函数名)可将函数内容打印出来,包括注释

动态函数:var fun = new Function(xyvar sum=x+y; return sum;);   var a = fun(3,2);

函数的参数和函数体都可以通过字符串变量来动态修改

匿名函数:同Java,多用于事件处理

可以通过函数形式来模拟Java,创建对象


function Person()

{

alert(person init);

}

var p = new Person();

上面会调用Person的方法

可以给p添加属性和方法

p.name = 张三

p.age = 30;

p.eat = function(){}

引用name属性可用

p.name 或p[name]

也可像Java一样使用this来完成对象构造


简化操作的with语句和forin语句

with用于确定对象的作用范围

with(对象){可直接调用对象的属性和方法,不用加对象名}

forin语句用于遍历对象或数组

for((变量)s  in (学生对象)stu){alert(s)}此处打印出stu的属性,要获得属性值用stu[s]

for(x in array) alert(x)打印的是数组角标

JavaScript的内部对象:Object、String、Array、Math……

String:长度为length属性,不是方法

方法有:toUpperCase() toLowerCase() CharAt() indexOf() lastIndexOf()

split() replace() substring(start, end) substr(start, length)

math()正则表达式匹配 bold()给字符串两边加上<b></b>标签

fontColor() fontSize() sub() sup() link(URL)都是加标签的

Math:random()产生0~1之间的伪随机数,含0不含1,可能为0,但总小于1,为小数

怎么产生1—10之间的整数呢?random()*10+1需要转换成整数,使用Global对象方法

Global:封装一些不属于具体某个对象的单独存在的全局方法,可不用对象名直接调用

parseFloat() parseInt() radix 基数

parseInt(numString, [radix]) radix指定numString的进制形式,2~36

默认0x开头位16进制,0开头为八进制,其他为十进制

如果numString前缀不能转为数字,则返回NaN(Not a number)可用isNaN()检测

parseInt(aaa) NaN parseInt(33abe) 33

提示:转换前先用正则匹配,是数字再转换

反向转换用toString方法

toString([radix])

Data:日期时间对象

var d = new Data(); 

with(d)

{

var month = getMonth()+1; 月份从0开始

month = month>9?month:0+month; 月份用两位数  日也可这样做

alert(getYear()++month++getData()+日,星期+getDay());

}

prototype属性:获取对象原型,可以给源对象添加自定义功能或属性

function getMax()

{

var max = this[0];

for (var x=1; x<this.length; x++)

{

if (max<this[x])

max = this[x];

}

return max;

}

Array.prototype.getMax = getMax; 给Array对象添加getMax方法,可直接调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值