专业编程基础技术教程

网站首页 > 基础教程 正文

javascript系统学习(五)万物皆对象

ccvgpt 2024-10-12 14:21:17 基础教程 10 ℃

一 javascript对象

javascript中的所有事物都是对象:字符串,数值,数组,函数.....

javascript系统学习(五)万物皆对象

此外,javascript允许自定义对象.

javascript提供多个內建对象,比如:String,Date,Array等等.对象只是带有属性和方法的特殊数据类型.

●布尔型可以是一个对象.

●数字型可以是一个对象.

●字符串可以是一个对象.

●日期是一个对象.

●正则表达式也是对象.

●数组是一个对象.

●甚至函数也可以是对象

var person={name:"John",age:31, favColor:"green",height:178};

属性:name,属性值:John. 以此类推.

javascript对象属性

可以通过两种方式访问对象属性.

objectName.propertyName

或者objectName['propertyName']

javascript的内置长度属性用于计算属性或字符串中的字符数.

var course={name:"JS",lesson:34};

document.write(course.name.length)

// ->2

对象方法

对象方法是一个包含函数定义的属性.

调用方法:

objectName.methodName()

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

var message="Coffee is lonely without cups";

var x=message.toUpperCase();

这样Coffee is lonely without cups 就会变成COFFEE IS LONELY WITHOUT CUPS

方法是作为对象属性存储的函数.

二 对象构造器

使用函数来构建对象:

function person(firstname,lastname,age,eyecolor){

this.firstname=firstname;

this.lastname=lastname;

this.age=age;

this.eyecolor=eyecolor; }

在javascript中,this通常指向我们正在执行的函数本身,或者指向该函数所属的对象(运行时)

创建javascript对象实例

一旦你有了对象构造器,就可以创建新的对象实例.

var myFather= new person("John","Doe",50,"blue");

var myMother=new person("Sally","Rally",48,"green") ;

document.write(myFather.age); //->50

document.write(myMother.name);//->Sally

myFather和myMother是person对象的实例.

三 对象初始化

使用对象literal或initializer语法创建单个对象.(literal:字面量.initializer:初始化程序,初始化器)

var John={name:"John",age:25};

var Loen={name:"Loen",age:28};

使用对象初始化器

空格和换行符并不重要.对象定义可以跨多行.

var John={

name:"John",

age:25};

var Loen={

name:"Loen",

age:28};

无论如何创建对象,访问属性和方法的语法不会改变.

document.write(Loen.age);

四 添加方法

方法是存储在对象属性中的函数.

创建对象函数:

function methodName(){code lines }

访问对象函数:

objectName.methodName()

this关键字是当前对象的引用,这意味着你可以使用this来访问对象属性和方法.

在构造函数中定义方法:

function person(name,age){

this.name=name;

this.age=age;

this.changeName=function (name){

this.name=name;}

}

var p=new person("Loen",28);

p.changeName("John");

在上面的例子中,我们定义了一个名为changeName的方法,该方法是一个函数,它接受参数名称并将其分配给对象的name属性.

添加方法:

可以在构造函数的外部定义一个函数,通过函数名关联到对象的属性上;

function person(name,age){

this.name=name;

this.age=age;

this.yearOfBirth=bornYear; //关联bornYear函数

}

function bornYear(){

return new Date().getFullYear()-this.age(); }

以上的代码中new Date().getFullYear()是获取今年完整的年份时间.如:2018.

我们已将对象的yearOfBirth属性赋予bornYear函数.当通过对象调用bornYear函数时,bornYear函数中的this指向这个对象.

将函数关联到对象属性时不需要写函数后边的括号.

调用方法:

function person(name,age){

this.name=name;

this.age=age;

this.yearOfBirth=bornYear;

}

function bornYear(){

return new Date().getFullYear()-this.age; }

var p=new person("Loen",27);

document.write(p.yearOfBirth());

// ->1991

通过对象的属性名调用函数而不是直接调用函数.

每天坚持进步一点点!

Tags:

最近发表
标签列表