JavaScript中对象的学习记录

本文详细介绍了JavaScript中的核心对象,包括Number、String、Array等的基本属性和方法,以及如何创建自定义对象及其方法。同时,还提供了Math、Date等常用内置对象的使用说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[align=center][b][size=large]对JavaScript中对象的学习[/size][/b][/align]

欢迎大家评论补充。。。。。

[b]1, Number 数字对象[/b]
属性有MAX_VALUE, MIN_VALUE, NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY;
方法有toString()。

[b]2, String 字符串对象[/b]

[b]3, Array 数组对象[/b]
方法有: (1) join(连接符), 返回用连接符将数组元素连接起来的字符串。
(2) reverse(),颠倒元素顺序。
(3) slice(start, end), 返回一个子数组。
(4) sort(排序方法), 如果不指定排序方法,按字母顺序排序。
属性有: length

[b]4, Math 数学对象[/b]

[b]5, Date日期对象[/b]
这个对象可以储存任意一个日期,从 0001 年到 9999 年,并且可以精确到毫秒数(1/1000 秒)。在内部,日期对象是一个整数,它是从 1970 年 1 月 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果所指日期比 1970 年早,则它是一个负数。所有日期时间,如果不指定时区,都采用“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的。

[b]6, 全局对象[/b]
方法有:
(1) eval() 把括号内的字符串当作标准语句或表达式来运行。
(2) isFinite() 如果括号内的数字是“有限”的(介于 Number.MIN_VALUE 和 Number.MAX_VALUE 之间)就返回 true;否则返回 false。
(3) isNaN() 如果括号内的值是“NaN”则返回 true 否则返回 false。
(4) parseInt() 返回把括号内的内容转换成整数之后的值。如果括号内是字符串,则字符串开头的数字部分被转换成整数,如果以字母开头,则返回“NaN”。
(5) parseFloat() 返回把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN”。
(6) toString() 用法:<对象>.toString();把对象转换成字符串。如果在括号中指定一个数值,则转换过程中所有数值转换成特定进制。
(7) escape() 返回括号中的字符串经过编码后的新字符串。该编码应用于 URL,也就是把空格写成“%20”这种格式。“+”不被编码,如果要“+”也被编码,请用:escape('...', 1)。
(8) unescape() 是 escape() 的反过程。解编括号中字符串成为一般字符串。

[b]JScript 参考手册中对创建对象的介绍:[/b]

要创建自己的对象实例,必须首先为其定义一个构造函数。构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法。例如,下面的示例为 pasta 对象定义了构造函数。注意 this 关键字的使用,它指向当前对象。
// pasta 是有四个参数的构造器。
function pasta(grain, width, shape, hasEgg)
{
// 是用什么粮食做的?
this.grain = grain;
// 多宽?(数值)
this.width = width;
// 横截面形状?(字符串)
this.shape = shape;
// 是否加蛋黄?(boolean)
this.hasEgg = hasEgg;
}


定义了对象构造器后,用 new 运算符创建对象实例。
var spaghetti = new pasta("wheat", 0.2, "circle", true);
var linguine = new pasta("wheat", 0.3, "oval", true);

可以给对象实例添加属性以改变该实例,但是用相同的构造器生成的其他对象定义中并不包括这些属性,而且除非你特意添加这些属性那么在其他实例中并不显示出来。如果要将对象所有实例的附加属性显示出来,必须将它们添加到构造函数或构造器原型对象(原型在高级文档中讨论)中。

// spaghetti 的附加属性。
spaghetti.color = "pale straw";
spaghetti.drycook = 7;
spaghetti.freshcook = 0.5;

var chowFun = new pasta("rice", 3, "flat", false);
// chowFun 对象或其他现有的 pasta 对象,都没有spaghetti 对象的三个新属性。
// 将属性‘foodgroup’加到 pasta 原型对象中,这样 pasta 对象的所有实例都可以有该属性,包括那些已经生成的实例。
pasta.prototype.foodgroup = "carbohydrates"

// 现在 spaghetti.foodgroup、chowFun.foodgroup,等等均包含值“carbohydrates”。


[b]在定义中包含方法[/b]

可以在对象的定义中包含方法(函数)。一种方法是在引用别处定义的函数的构造函数中添加一个属性。例如,下面的示例扩充上面定义的 pasta 构造函数以包含 toString 方法,该方法将在显示对象的值时被调用。

// pasta 是有四个参数的构造器。第一部分与上面相同。
function pasta(grain, width, shape, hasEgg)
{
// 用什么粮食做的?
this.grain = grain;
// 多宽?(数值)
this.width = width;
// 横截面形状?(字符串)
this.shape = shape;
// 是否加蛋黄?(boolean)
this.hasEgg = hasEgg;

// 这里添加 toString 方法(如下定义)。注意在函数的名称后没有加圆括号;这不是一个函数调用,而是对函数自身的引用。
this.toString = pastaToString;//这里相当于重写了toString()方法,属性重构范畴。
}

// 实际的用来显示 past 对象内容的函数。
function pastaToString()
{
// 返回对象的属性。
return "Grain: " + this.grain + "\n" +
"Width: " + this.width + "\n" +
"Shape: " + this.shape + "\n" +
"Egg?: " + Boolean(this.hasEgg);
}

var spaghetti = new pasta("wheat", 0.2, "circle", true);
// 将调用 toString() 并显示 spaghetti 对象的属性(需要Internet 浏览器)。
window.alert(spaghetti);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值