JS内部对象 叫内建类还是内建对象?
JavaScript为我们提供了一些非常有用的常用内部对象和方法。用户不需要用脚本来实现这些功能。这正是基于对象编程的真正目的。在JavaScript提供了string(字符串)、math(数值计算)和Date(日期)三种对象和其它一些相关的方法。从而为编程人员快速开发强大的脚本程序提供了非常有利的条件。
常用内置对象
String,只有一个length属性
Math,是静态对象,不能构造它的实例;在应用时不需要进行自行更改,所以并不需要构造其实例对其具体化。
Math对象中定义的属性是数值计算中公认的常量。(Math对象的属性的引用:Math.属性名;)
如属性名称E,对应的数值是自然对数的底;
属性名称PI,对应的数值是圆周率;
定义的方法是数值计算中广泛使用的数学函数;(Math对象的方法的引用:Math.方法名([参数]);)
如math.sqrt(4)
Date,提供了日期和时间的方法;
Date对象有三种不同的构造函数,所以创建Date对象实例的方法也有以下三种。
1 创建的实例存储当前系统的日期和时间:
name=new date();
2 使用时间字符串来指定时间:
name=new date(dateString);
3 直接指定年、月、日、时间等
name=new date(year,month,date[,hour[,minutes,[second[,ms]]]]);
Date对象中定义的方法及功能如:
getMonth():返回时间对象的月数;
setMonth():设置时间对象的月数;
toString():将时间对象转换为字符串;
Arry,将数组作为对象访问。当我们定义了一个数组时,便创建了一个Arrayc对象,Array对象有一个length属性,表示数组长度。
RegExp,用于字符品的查找、替换等操作。
JS提供了很多类,这些类按照不同的功能封装了一些函数和变量,用于不同的数据运算,如字符串运算、数学运算、数值转化、格式化等;这些类被包含在JS解释器中,因此,也被称为内建类,一些内建类无须实例化,可以直接调用类的方法和属性,而另外一些类则需要实例化才可以调用类的方法和属性;
类是某一类事物的抽象,它是一个概念的范畴,但要使用该类中某个具体的个体时,你必须为该个体创建一个实例来标识它。例如,你可以使用people这个类来描述“人”这个范畴,人类可以有肤色、头发等属性,也可以有跑、坐这些方法;但当你要使用people类中的某个个体时,如名叫tom的人时,那么你就必须创建一个实例,标识该个体,一般会用到new这个关键字;
如创建一个名为tom的people实例:
var tome=new people()
JS内建的类也是某一事物的抽象,所以也必须创建实例才能使用,如Date类,首先要创建该类的新实例,然后才可使用它的方法和属性,也就是创建了类的一个新实例后,该类的所有属性和方法都会被复制到该实例中。
var currentDate=new Date()
var currentMinute=currentDate.getMinutes()
有一些类虽然也是事物的抽象,但是这些类一般不会有什么个体而言,如月亮抽象为一个类,该类有方法和属性,但是世上只有一个月亮,它是唯一的,所以也谈不上个体,也就无须实例化,JS中内建的Math类就属于这一类型,无需实例化;
对象 | 创建对象实例的方法 | 属性 | 属性解释 | 方法类别 | 方法关键字 | 解释 |
string | var 实例名=new Strin("字符串内容"); | length | 处理字符串本身的方法: | charAt(idx) | 返回指定位置处字符;位置索引均以0开始计算; | |
indexOf(chr) | 查找并返回起始位置值,若打不到则返回-1; | |||||
lastIndexOf(chr) | 查找并返回起始位置值(从右开始找,但值是从左边始的); | |||||
subString(startIdx,endIdx) | 截取 | |||||
concat(Str2) | 相对于+号;
Str1.concat(Str2) |
|||||
match(regExp) | 使用指定的正则表达式来搜索字符串,返回一个数组,记录了在字符串中匹配正则模式的位置。 | |||||
replace(regExp,replaceTex) | 替换操作 | |||||
search(regExP) | 搜索是否出现 | |||||
slice(startIdx,[endIdx] | 提取字符串 | |||||
split("delimiteCharacter"[,limitInteger]) | 该方法将字符串中的字符通过指定的分隔符进行划分,并使用所得的片段组成一个数组。
var ex="Sun,Mon,Tue,Wed,Thu,Fri,Sta"; var exArray=ex.split(","); |
|||||
substr(startIdx,[length]) | 截取 | |||||
toString() | 返回字符串的值 | |||||
toLowerCase() | 转为小写 | |||||
toUpperCase() | 转为大写 | |||||
valueOf() | 返回字符串的值 | |||||
处理字符串在网页中外观的方法: | big() | |||||
blink() | ||||||
bold() | ||||||
fixed() | ||||||
fontcolor(color) | ||||||
fontsize(size) | ||||||
italics() | ||||||
small() | ||||||
strike() | ||||||
sub() | ||||||
sup() | ||||||
将字符串转化为超文本的方法: | anchor(anchor_name) | 用来在网页中创建一个锚点;相当于在标记<A>中设置name属性; | ||||
link(url) | 为字符串对象加上超级链接。相当于为标记<A>设定href属性; | |||||
Date | name=new Date() | 返回日期和时间 | getDate() | |||
name=new Date(dateString) | getDay() | 0为星期天 | ||||
name= new Date(year,month,date[,hour[,minutes[,seconds[,ms]]]]) | getHours() | |||||
getMinutes() | ||||||
getMilliseconds() | ||||||
getMonth() | ||||||
getSeconds() | ||||||
getTime | 返回时间对象到1970.1.1之间的豪秒数; | |||||
设置时间或日期 | setDate() | |||||
setHours() | ||||||
setMinutes() | ||||||
setMilliseconds() | ||||||
setMonth() | ||||||
setTime() | ||||||
setYear() | ||||||
转换格式与求值 | toGMTString() | |||||
toLocalString() | ||||||
toString() | ||||||
valueOf() | 返回时间对象到1970.1.1之间的豪秒数; | |||||
Array | lengh | toString() | 返回数组的字符串形式,逗号分隔; | |||
join([separator]) | 使用指定分隔符返回数组的字符串形式; | |||||
reverse() | 数组元素逆序 | |||||
sort([comparisonFunc]) | 对数组元素进行排序,如果缺省参数,按字母排; | |||||
pop() | 删除数组的最后一个元素; | |||||
push(newItme) | 将一个新的元素加入数组 | |||||
slice(fidx,[tidx]) | 提取部分元素 | |||||
RegExp | 正则表达式用于字符串的查找、替换等操作。要查找的字符串称为模式,用正则表达式表示。 | |||||
Math | E | 自然对数的底,2.71828; | abs() | |||
LN10 | 10的自然对数:2.30258 | sin() | ||||
LN2 | cos() | |||||
LOG2E | 底数为2的E的对数:1.44269; | asin() | ||||
LOG10E | acos() | |||||
PI | 3.141593 | tan() | ||||
SQRT1_2 | 1/2的平方根:0.7071; | atan() | ||||
SQRT2 | 2的平方根:1.4142; | log() | ||||
exp() | ||||||
pow(a,b) | 求a的B次幂; | |||||
sqrt() | ||||||
ceil() | 返回不小于A的最小整数; | |||||
floor() | 返回不大于A的最大整数; | |||||
max(a,b) | ||||||
min(a,b) | ||||||
random() | ||||||
round() |