JavaScript 对象

来源:互联网 发布:时代网络大厦 编辑:程序博客网 时间:2024/06/05 13:04

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…

此外,JavaScript 允许自定义对象。

JavaScript 对象

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型。

访问对象的属性

属性是与对象相关的值。

访问对象属性的语法是:

objectName.propertyName

这个例子使用了 String 对象的 length 属性来获得字符串的长度:

var message=”Hello World!”;
var x=message.length;

在以上代码执行后,x 的值将是:
12

访问对象的方法

方法是能够在对象上执行的动作。

您可以通过以下语法来调用方法:

objectName.methodName()

这个例子使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:

var message=”Hello world!”;
var x=message.toUpperCase();

在以上代码执行后,x 的值将是:

HELLO WORLD!

创建 JavaScript 对象

通过 JavaScript,您能够定义并创建自己的对象。

创建新对象有两种不同的方法:

  1. 定义并创建对象的实例
  2. 使用函数来定义对象,然后创建新的对象实例

创建直接的实例

这个例子创建了对象的一个新实例,并向其添加了四个属性:
实例

person=new Object();
person.firstname=”Bill”;
person.lastname=”Gates”;
person.age=56;
person.eyecolor=”blue”;

替代语法(使用对象 literals):
实例

person={firstname:”John”,lastname:”Doe”,age:50,eyecolor:”blue”};

使用对象构造器

本例使用函数来构造对象:
实例

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

创建 JavaScript 对象实例

一旦您有了对象构造器,就可以创建新的对象实例,就像这样:

var myFather=new person(“Bill”,”Gates”,56,”blue”);
var myMother=new person(“Steve”,”Jobs”,48,”green”);

把属性添加到 JavaScript 对象

您可以通过为对象赋值,向已有对象添加新属性:

假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:

person.firstname=”Bill”;
person.lastname=”Gates”;
person.age=56;
person.eyecolor=”blue”;

x=person.firstname;

在以上代码执行后,x 的值将是:

Bill

把方法添加到 JavaScript 对象

方法只不过是附加在对象上的函数。

在构造器函数内部定义对象的方法:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;

this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}

changeName() 函数 name 的值赋给 person 的 lastname 属性。

现在您可以试一下:

myMother.changeName(“Ballmer”);

JavaScript 类

JavaScript 是面向对象的语言,但 JavaScript 不使用类。

在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

JavaScript 基于 prototype,而不是基于类的。
JavaScript for…in 循环

JavaScript for…in 语句循环遍历对象的属性。
语法

for (对象中的变量)
{
要执行的代码
}

注释:for…in 循环中的代码块将针对每个属性执行一次。
实例

循环遍历对象的属性:

var person={fname:”Bill”,lname:”Gates”,age:56};

for (x in person)
{
txt=txt + person[x];
}

JavaScript 只有一种数字类型。

可以使用也可以不使用小数点来书写数字。
JavaScript 数字

JavaScript 数字可以使用也可以不使用小数点来书写:
实例

var pi=3.14; // 使用小数点
var x=34; // 不使用小数点

极大或极小的数字可通过科学(指数)计数法来写:
实例

var y=123e5; // 12300000
var z=123e-5; // 0.00123

所有 JavaScript 数字均为 64 位

JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

JavaScript 中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。
精度

整数(不使用小数点或指数计数法)最多为 15 位。

小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
实例

var x=0.2+0.1;

八进制和十六进制

如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 “x”,则解释为十六进制数。
实例

var y=0377;
var z=0xFF;

提示:绝不要在数字前面写零,除非您需要进行八进制转换。

数字属性和方法
属性:

MAX VALUEMIN VALUENEGATIVE INFINITIVEPOSITIVE INFINITIVENaNprototypeconstructor

方法:

toExponential()toFixed()toPrecision()toString()valueOf()

完整的 Number 对象参考手册

如需可用于 Number 对象的所有属性和方法的完整参考,请访问我们的 Number 对象参考手册。

该参考手册包含每个属性和方法的描述和实例。

String 对象用于处理已有的字符块。
JavaScript String(字符串)对象 实例

计算字符串的长度
如何使用长度属性来计算字符串的长度。
为字符串添加样式
如何为字符串添加样式。
indexOf() 方法
如何使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置。
match() 方法
如何使用 match() 来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
如何替换字符串中的字符 - replace()
如何使用 replace() 方法在字符串中用某些字符替换另一些字符。

字符串对象

字符串对象用于处理已有的字符块。
例子:

下面的例子使用字符串对象的长度属性来计算字符串的长度。

var txt=”Hello world!”
document.write(txt.length)

上面的代码输出为:

12

下面的例子使用字符串对象的toUpperCase()方法将字符串转换为大写:

var txt=”Hello world!”
document.write(txt.toUpperCase())

上面的代码输出为:

HELLO WORLD!

日期对象用于处理日期和时间。
JavaScript Date(日期)对象 实例

返回当日的日期和时间
如何使用 Date() 方法获得当日的日期。
getTime()
getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。
setFullYear()
如何使用 setFullYear() 设置具体的日期。
toUTCString()
如何使用 toUTCString() 将当日的日期(根据 UTC)转换为字符串。
getDay()
如何使用 getDay() 和数组来显示星期,而不仅仅是数字。
显示一个钟表
如何在网页上显示一个钟表。

定义日期

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

可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:

var myDate=new Date()

注释:Date 对象自动使用当前的日期和时间作为其初始值。

操作日期

通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。

在下面的例子中,我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):

var myDate=new Date()
myDate.setFullYear(2008,7,9)

注意:表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。

在下面的例子中,我们将日期对象设置为 5 天后的日期:

var myDate=new Date()
myDate.setDate(myDate.getDate()+5)

注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

比较日期

日期对象也可用于比较两个日期。

下面的代码将当前日期与 2008 年 8 月 9 日做了比较:

var myDate=new Date();
myDate.setFullYear(2008,8,9);

var today = new Date();

if (myDate>today)
{
alert(“Today is before 9th August 2008”);
}
else
{
alert(“Today is after 9th August 2008”);
}

javascript对象之内置对象Math使用方法

一、Math.min()和Math.max(),分别返回参数中的最小和最大值 例: alert(Math.min(1,2,3)) //输出 “1” alert(Math.max(1,2,3)) //输出 “3” 二、Math.abs(),返回参数的绝对值 例: alert(Math.abs(-1)) //输出 “1” 三、Math.random(),产生一个0到1的随机

一、Math.min()和Math.max(),分别返回参数中的最小和最大值
  例:
  alert(Math.min(1,2,3))  //输出 “1”
  alert(Math.max(1,2,3))  //输出 “3”

二、Math.abs(),返回参数的绝对值
  例:
  alert(Math.abs(-1))  //输出 “1”

三、Math.random(),产生一个0到1的随机数
  例:
  window.open(“http://www.*.com/index.shtml?t=”+Math.random)  //在url地址后面加上一个值为随即数的参数,能保证页面每次都从服务器上重新拉取,而不是读取缓存。

四、Math.floor(),Math.round(),Math.ceil()
  Math.floor():把小数向下舍入成整数    例:alert(Math.floor(1.5))  //输出”1”
  Math.round():把小数标准四舍五入成整数  例:alert(Math.round(1.5))  //输出”2”
  Math.ceil():把小数向上舍入成整数  例:alert(Math.round(1.5))  //输出”2”
  利用这三个函数,在涉及小数计算的时候就非常方便,比如设计如下函数来进行小数处理

0 0