JavaScript 是使用“对象化编程”
![](/icons/38172de.gif)
![](/icons/38172dou.gif)
或者叫“面向对象编程”
![](/icons/38172de.gif)
![](/icons/38172dou2.gif)
所谓“对象化编程”
![](/icons/38172dou.gif)
意思是把 JavaScript 能涉及
![](/icons/38172de.gif)
范围划分成大大小小
![](/icons/38172de.gif)
对象
![](/icons/38172dou.gif)
对象下面还继续划分对象直至非常详细为止
![](/icons/38172dou.gif)
所有
![](/icons/38172de.gif)
编程都以对象为出发点
![](/icons/38172dou.gif)
基于对象
![](/icons/38172dou2.gif)
小到
![](/icons/38172yi.gif)
个变量
![](/icons/38172dou.gif)
大到网页文档、窗口甚至屏幕
![](/icons/38172dou.gif)
都是对象
![](/icons/38172dou2.gif)
这
![](/icons/38172yi.gif)
章将“面向对象”讲述 JavaScript
![](/icons/38172de.gif)
运行情况
对象
![](/icons/38172de.gif)
基本知识
对象是可以从 JavaScript“势力范围”中划分出来
![](/icons/38172de.gif)
![](/icons/38172yi.gif)
小块
![](/icons/38172dou.gif)
可以是
![](/icons/38172yi.gif)
段文字、
![](/icons/38172yi.gif)
幅图片、
![](/icons/38172yi.gif)
个表单(Form)等等
![](/icons/38172dou2.gif)
每个对象有它自己
![](/icons/38172de.gif)
属性、思路方法和事件
![](/icons/38172dou2.gif)
对象
![](/icons/38172de.gif)
属性是反映该对象某些特定
![](/icons/38172de.gif)
性质
![](/icons/38172de.gif)
![](/icons/38172dou.gif)
例如:
![](/icons/38172zifu.gif)
串
![](/icons/38172de.gif)
长度、图像
![](/icons/38172de.gif)
长宽、文字框(Textbox)里
![](/icons/38172de.gif)
文字等等;对象
![](/icons/38172de.gif)
思路方法能对该对象做
![](/icons/38172yi.gif)
些事情
![](/icons/38172dou.gif)
例如
![](/icons/38172dou.gif)
表单
![](/icons/38172de.gif)
“提交”(Submit)
![](/icons/38172dou.gif)
窗口
![](/icons/38172de.gif)
“滚动”(Scrolling)等等;而对象
![](/icons/38172de.gif)
事件就能响应发生在对象上
![](/icons/38172de.gif)
事情
![](/icons/38172dou.gif)
例如提交表单产生表单
![](/icons/38172de.gif)
“提交事件”
![](/icons/38172dou.gif)
点击连接产生
![](/icons/38172de.gif)
“点击事件”
![](/icons/38172dou2.gif)
不是所有
![](/icons/38172de.gif)
对象都有以上 3个性质
![](/icons/38172dou.gif)
有些没有事件
![](/icons/38172dou.gif)
有些只有属性
![](/icons/38172dou2.gif)
引用对象
![](/icons/38172de.gif)
任
![](/icons/38172yi.gif)
“性质”用“<对象名>.<性质名>”这种思路方法
基本对象
现在我们要复习以上学过
![](/icons/38172de.gif)
内容了——把
![](/icons/38172yi.gif)
些数据类型用对象
![](/icons/38172de.gif)
角度重新学习
![](/icons/38172yi.gif)
下
Number “数字”对象
![](/icons/38172dou2.gif)
这个对象用得很少
![](/icons/38172dou.gif)
作者就
![](/icons/38172yi.gif)
次也没有见过
![](/icons/38172dou2.gif)
不过属于“Number”
![](/icons/38172de.gif)
对象
![](/icons/38172dou.gif)
也就是“变量”就多了
属性
MAX_VALUE 使用方法:Number.MAX_VALUE;返回“最大值”
MIN_VALUE 使用方法:Number.MIN_VALUE;返回“最小值”
NaN 使用方法:Number.NaN 或 NaN;返回“NaN”
![](/icons/38172dou2.gif)
“NaN”(不是数值)在很早就介绍过了
NEGATIVE_INFINITY 使用方法:Number.NEGATIVE_INFINITY;返回:负无穷大
![](/icons/38172dou.gif)
比“最小值”还小
![](/icons/38172de.gif)
值
POSITIVE_INFINITY 使用方法:Number.POSITIVE_INFINITY;返回:正无穷大
![](/icons/38172dou.gif)
比“最大值”还大
![](/icons/38172de.gif)
值
思路方法
toString
![](/icons/38172kh.gif)
使用方法:<数值变量>.toString
![](/icons/38172kh.gif)
;返回:
![](/icons/38172zifu.gif)
串形式
![](/icons/38172de.gif)
数值
![](/icons/38172dou2.gif)
如:若 a
![](/icons/38172dd.gif)
123;则 a.toString
![](/icons/38172dd.gif)
'123'
String
![](/icons/38172zifu.gif)
串对象
![](/icons/38172dou2.gif)
声明
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串对象最简单、快捷、有效、常用
![](/icons/38172de.gif)
思路方法就是直接赋值
属性
length 使用方法:<
![](/icons/38172zifu.gif)
串对象>.length;返回该
![](/icons/38172zifu.gif)
串
![](/icons/38172de.gif)
长度
思路方法
charAt
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.charAt(<位置>);返回该
![](/icons/38172zifu.gif)
串位于第<位置>位
![](/icons/38172de.gif)
单个
![](/icons/38172zifu.gif)
![](/icons/38172dou2.gif)
注意:
![](/icons/38172zifu.gif)
串中
![](/icons/38172de.gif)
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
是第 0 位
![](/icons/38172de.gif)
![](/icons/38172dou.gif)
第 2个才是第 1 位
![](/icons/38172de.gif)
![](/icons/38172dou.gif)
最后
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
是第 length - 1 位
![](/icons/38172de.gif)
charCodeAt
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.charCodeAt(<位置>);返回该
![](/icons/38172zifu.gif)
串位于第<位置>位
![](/icons/38172de.gif)
单个
![](/icons/38172zifu.gif)
![](/icons/38172de.gif)
ASCII 码
fromCharCode
![](/icons/38172kh.gif)
使用方法:String.fromCharCode(a, b, c...);返回
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
该
![](/icons/38172zifu.gif)
串每个
![](/icons/38172zifu.gif)
![](/icons/38172de.gif)
ASCII 码由 a, b, c... 等来确定
indexOf
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.indexOf(<另
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串对象>[, <起始位置>]);该思路方法从<
![](/icons/38172zifu.gif)
串对象>中查找<另
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串对象>(如果给出<起始位置>就忽略的前
![](/icons/38172de.gif)
位置)
![](/icons/38172dou.gif)
如果找到了
![](/icons/38172dou.gif)
就返回它
![](/icons/38172de.gif)
位置
![](/icons/38172dou.gif)
没有找到就返回“-1”
![](/icons/38172dou2.gif)
所有
![](/icons/38172de.gif)
“位置”都是从零开始
![](/icons/38172de.gif)
lastIndexOf
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.lastIndexOf(<另
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串对象>[, <起始位置>]);跟 indexOf
![](/icons/38172kh.gif)
相似
![](/icons/38172dou.gif)
不过是从后边开始找
split
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.split(<分隔符
![](/icons/38172zifu.gif)
>);返回
![](/icons/38172yi.gif)
个
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
该
![](/icons/38172shuzu.gif)
是从<
![](/icons/38172zifu.gif)
串对象>中分离开来
![](/icons/38172de.gif)
![](/icons/38172dou.gif)
<分隔符
![](/icons/38172zifu.gif)
>决定了分离
![](/icons/38172de.gif)
地方
![](/icons/38172dou.gif)
它本身不会包含在所返回
![](/icons/38172de.gif)
![](/icons/38172shuzu.gif)
中
![](/icons/38172dou2.gif)
例如:'1&2&345&678'.split('&')返回
![](/icons/38172shuzu.gif)
:1,2,345,678
![](/icons/38172dou2.gif)
有关
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
我们等
![](/icons/38172yi.gif)
下就讨论
sub
![](/icons/38172string.gif)
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.sub
![](/icons/38172string.gif)
(<始>[, <终>]);返回原
![](/icons/38172zifu.gif)
串
![](/icons/38172de.gif)
子
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
该
![](/icons/38172zifu.gif)
串是原
![](/icons/38172zifu.gif)
串从<始>位置到<终>位置
![](/icons/38172de.gif)
前
![](/icons/38172yi.gif)
位置
![](/icons/38172de.gif)
![](/icons/38172yi.gif)
段
![](/icons/38172dou2.gif)
<终> - <始> = 返回
![](/icons/38172zifu.gif)
串
![](/icons/38172de.gif)
长度(length)
![](/icons/38172dou2.gif)
如果没有指定<终>或指定得超过
![](/icons/38172zifu.gif)
串长度
![](/icons/38172dou.gif)
则子
![](/icons/38172zifu.gif)
串从<始>位置
![](/icons/38172yi.gif)
直取到原
![](/icons/38172zifu.gif)
串尾
![](/icons/38172dou2.gif)
如果所指定
![](/icons/38172de.gif)
位置不能返回
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
则返回空
![](/icons/38172zifu.gif)
串
substr
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.substr(<始>[, <长>]);返回原
![](/icons/38172zifu.gif)
串
![](/icons/38172de.gif)
子
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
该
![](/icons/38172zifu.gif)
串是原
![](/icons/38172zifu.gif)
串从<始>位置开始
![](/icons/38172dou.gif)
长度为<长>
![](/icons/38172de.gif)
![](/icons/38172yi.gif)
段
![](/icons/38172dou2.gif)
如果没有指定<长>或指定得超过
![](/icons/38172zifu.gif)
串长度
![](/icons/38172dou.gif)
则子
![](/icons/38172zifu.gif)
串从<始>位置
![](/icons/38172yi.gif)
直取到原
![](/icons/38172zifu.gif)
串尾
![](/icons/38172dou2.gif)
如果所指定
![](/icons/38172de.gif)
位置不能返回
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
则返回空
![](/icons/38172zifu.gif)
串
toLowerCase
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.toLowerCase
![](/icons/38172kh.gif)
;返回把原
![](/icons/38172zifu.gif)
串所有大写字母都变成小写
![](/icons/38172de.gif)
![](/icons/38172zifu.gif)
串
toUpperCase
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172zifu.gif)
串对象>.toUpperCase
![](/icons/38172kh.gif)
;返回把原
![](/icons/38172zifu.gif)
串所有小写字母都变成大写
![](/icons/38172de.gif)
![](/icons/38172zifu.gif)
串
Array
![](/icons/38172shuzu.gif)
对象
![](/icons/38172dou2.gif)
![](/icons/38172shuzu.gif)
对象是
![](/icons/38172yi.gif)
个对象
![](/icons/38172de.gif)
集合
![](/icons/38172dou.gif)
里边
![](/icons/38172de.gif)
对象可以是区别类型
![](/icons/38172de.gif)
![](/icons/38172dou2.gif)
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
每
![](/icons/38172yi.gif)
个成员对象都有
![](/icons/38172yi.gif)
个“下标”
![](/icons/38172dou.gif)
用来表示它在
![](/icons/38172shuzu.gif)
中
![](/icons/38172de.gif)
位置(既然是“位置”
![](/icons/38172dou.gif)
就也是从零开始
![](/icons/38172de.gif)
啦)
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
定义思路方法:
var <
![](/icons/38172shuzu.gif)
名> =
![](/icons/38172new.gif)
Array
![](/icons/38172kh.gif)
;
这样就定义了
![](/icons/38172yi.gif)
个空
![](/icons/38172shuzu.gif)
![](/icons/38172dou2.gif)
以后要添加
![](/icons/38172shuzu.gif)
元素
![](/icons/38172dou.gif)
就用:
<
![](/icons/38172shuzu.gif)
名>[<下标>] = ...;
注意这里
![](/icons/38172de.gif)
方括号不是“可以省略”
![](/icons/38172de.gif)
意思
![](/icons/38172dou.gif)
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
下标表示思路方法就是用方括号括起来
如果想在定义
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
时候直接
![](/icons/38172chushi.gif)
化数据
![](/icons/38172dou.gif)
请用:
var <
![](/icons/38172shuzu.gif)
名> =
![](/icons/38172new.gif)
Array(<元素1>, <元素2>, <元素3>...);
例如
![](/icons/38172dou.gif)
var myArray =
![](/icons/38172new.gif)
Array(1, 4.5, 'Hi'); 定义了
![](/icons/38172yi.gif)
个
![](/icons/38172shuzu.gif)
myArray
![](/icons/38172dou.gif)
里边
![](/icons/38172de.gif)
元素是:myArray[0]
![](/icons/38172dd.gif)
1; myArray[1]
![](/icons/38172dd.gif)
4.5; myArray[2]
![](/icons/38172dd.gif)
'Hi'
但是
![](/icons/38172dou.gif)
如果元素列表中只有
![](/icons/38172yi.gif)
个元素
![](/icons/38172dou.gif)
而这个元素又是
![](/icons/38172yi.gif)
个正整数
![](/icons/38172de.gif)
话
![](/icons/38172dou.gif)
这将定义
![](/icons/38172yi.gif)
个包含<正整数>个空元素
![](/icons/38172de.gif)
![](/icons/38172shuzu.gif)
注意:JavaScript只有
![](/icons/38172yi.gif)
维
![](/icons/38172shuzu.gif)
!千万不要用“Array(3,4)”这种愚蠢
![](/icons/38172de.gif)
思路方法来定义 4 x 5
![](/icons/38172de.gif)
2维
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
或者用“myArray[2,3]”这种思路方法来返回“ 2维
![](/icons/38172shuzu.gif)
”中
![](/icons/38172de.gif)
元素
![](/icons/38172dou2.gif)
任意“myArray[...,3]”这种形式
![](/icons/38172de.gif)
![](/icons/38172diaoyong.gif)
其实只返回了“myArray[3]”
![](/icons/38172dou2.gif)
要使用多维
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
请用这种虚拟法:
var myArray =
![](/icons/38172new.gif)
Array(
![](/icons/38172new.gif)
Array
![](/icons/38172kh.gif)
,
![](/icons/38172new.gif)
Array
![](/icons/38172kh.gif)
,
![](/icons/38172new.gif)
Array
![](/icons/38172kh.gif)
, ...);
其实这是
![](/icons/38172yi.gif)
个
![](/icons/38172yi.gif)
维
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
里边
![](/icons/38172de.gif)
每
![](/icons/38172yi.gif)
个元素又是
![](/icons/38172yi.gif)
个
![](/icons/38172shuzu.gif)
![](/icons/38172dou2.gif)
![](/icons/38172diaoyong.gif)
这个“ 2维
![](/icons/38172shuzu.gif)
”
![](/icons/38172de.gif)
元素时:myArray[2][3] = ...;
属性
length 使用方法:<
![](/icons/38172shuzu.gif)
对象>.length;返回:
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
长度
![](/icons/38172dou.gif)
即
![](/icons/38172shuzu.gif)
里有多少个元素
![](/icons/38172dou2.gif)
它等于
![](/icons/38172shuzu.gif)
里最后
![](/icons/38172yi.gif)
个元素
![](/icons/38172de.gif)
下标加
![](/icons/38172yi.gif)
![](/icons/38172dou2.gif)
所以
![](/icons/38172dou.gif)
想添加
![](/icons/38172yi.gif)
个元素
![](/icons/38172dou.gif)
只需要:myArray[myArray.length] = ...
思路方法
join
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172shuzu.gif)
对象>.join(<分隔符>);返回
![](/icons/38172yi.gif)
个
![](/icons/38172zifu.gif)
串
![](/icons/38172dou.gif)
该
![](/icons/38172zifu.gif)
串把
![](/icons/38172shuzu.gif)
中
![](/icons/38172de.gif)
各个元素串起来
![](/icons/38172dou.gif)
用<分隔符>置于元素和元素的间
![](/icons/38172dou2.gif)
这个思路方法不影响
![](/icons/38172shuzu.gif)
原本
![](/icons/38172de.gif)
内容
reverse
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172shuzu.gif)
对象>.reverse
![](/icons/38172kh.gif)
;使
![](/icons/38172shuzu.gif)
中
![](/icons/38172de.gif)
元素顺序反过来
![](/icons/38172dou2.gif)
如果对
![](/icons/38172shuzu.gif)
[1, 2, 3]使用这个思路方法
![](/icons/38172dou.gif)
它将使
![](/icons/38172shuzu.gif)
变成:[3, 2, 1]
slice
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172shuzu.gif)
对象>.slice(<始>[, <终>]);返回
![](/icons/38172yi.gif)
个
![](/icons/38172shuzu.gif)
![](/icons/38172dou.gif)
该
![](/icons/38172shuzu.gif)
是原
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
子集
![](/icons/38172dou.gif)
始于<始>
![](/icons/38172dou.gif)
终于<终>
![](/icons/38172dou2.gif)
如果不给出<终>
![](/icons/38172dou.gif)
则子集
![](/icons/38172yi.gif)
直取到原
![](/icons/38172shuzu.gif)
![](/icons/38172de.gif)
结尾
sort
![](/icons/38172kh.gif)
使用方法:<
![](/icons/38172shuzu.gif)
对象>.sort([<思路方法
![](/icons/38172hanshu.gif)
>]);使
![](/icons/38172shuzu.gif)
中
![](/icons/38172de.gif)
元素按照
![](/icons/38172yi.gif)
定
![](/icons/38172de.gif)
顺序排列
![](/icons/38172dou2.gif)
如果不指定<思路方法
![](/icons/38172hanshu.gif)
>
![](/icons/38172dou.gif)
则按字母顺序排列
![](/icons/38172dou2.gif)
在这种情况下
![](/icons/38172dou.gif)
80 是比 9 排得前
![](/icons/38172de.gif)
![](/icons/38172dou2.gif)
如果指定<思路方法
![](/icons/38172hanshu.gif)
>
![](/icons/38172dou.gif)
则按<思路方法
![](/icons/38172hanshu.gif)
>所指定
![](/icons/38172de.gif)
排序思路方法排序
![](/icons/38172dou2.gif)
<思路方法
![](/icons/38172hanshu.gif)
>比较难讲述
![](/icons/38172dou.gif)
这里只将
![](/icons/38172yi.gif)
些有用
![](/icons/38172de.gif)
<思路方法
![](/icons/38172hanshu.gif)
>介绍给大家
按升序排列数字:
function sortMethod(a, b) {
![](/icons/38172return.gif)
a - b;
}
myArray.sort(sortMethod);
按降序排列数字:把上面
![](/icons/38172de.gif)
“a - b”该成“b - a”
有关
![](/icons/38172hanshu.gif)
![](/icons/38172dou.gif)
请看下面
Math “数学”对象
![](/icons/38172dou.gif)
提供对数据
![](/icons/38172de.gif)
数学计算
![](/icons/38172dou2.gif)
下面所提到
![](/icons/38172de.gif)
属性和思路方法
![](/icons/38172dou.gif)
不再详细介绍说明“使用方法”
![](/icons/38172dou.gif)
大家在使用
![](/icons/38172de.gif)
时候记住用“Math.<名>”这种格式