当前位置:首页 > 日记 > 正文

javascript构造函数方法定义一个对象

javascript构造函数方法定义一个对象
Javascript是一种动态语言,可以在运行时将属性添加到对象中,也可以将删除(删除)属性添加到对象中。

复制代码代码如下所示:

*

01。定义对象的第一种方式。

对象=新对象();

警报(对象用户名);

1.1添加属性用户名

对象{用户名liujianglong} =;

/ /对象。用户名为liujl ;

警报(对象用户名);

1.2删除属性用户名

删除object.username; / /用户名属性已被删除的对象

警报(对象用户名);

* /

02。以第二种方式定义对象——Javascript中定义对象的最常用方式之一

var对象= {姓名:zhangsan

警报(对象名称);

警报(对象,年龄);

警报(对象,性别);


属性名称:该方法的名称也是可能的,因为函数本身是一个对象。

Javascript数组排序

复制代码代码如下所示:

var array = { 1,3,25 };



VaR的比较函数(num1,num2){

无功temp1 = parseInt(num1);

VaR temp2 = parseInt(num2);

如果(temp1 < temp2){

返回- 1;

} else if(temp1 = = temp2){

返回0;

其他{ }

返回1;

}

}

/ / array.sort(比较); / / 01。函数名是对象引用。



02。匿名函数

Array.sort(函数C(num1,num2){

无功temp1 = parseInt(num1);

VaR temp2 = parseInt(num2);

如果(temp1 < temp2){

返回- 1;

} else if(temp1 = = temp2){

返回0;

其他{ }

返回1;

}

});



警报(阵列);


在Javascript中定义对象的几种方法(Javascript中没有类的概念,只有对象)

第一种方法:基于现有对象展开其属性和方法

复制代码代码如下所示:
01。基于现有对象扩展其属性和方法

对象=新对象();

对象。用户名为zhangsan;

对象。sayname =函数(名){

这个用户名=名字;

警报(此用户名);

}

警报(对象用户名);

object.sayname(思);

警报(对象用户名);
这种方法有一定的局限性,因为Javascript没有像java类的概念和写一个类。然后,新的可以获得这些属性和方法的对象。

如果你想拥有object2,你只能写一份上面的代码,这是非常不好的。

第二种方式:工厂模式

类似于静态工厂方法在java。

复制代码代码如下所示:

对象/工厂方法

CreateObject函数(){ var =

对象=新对象();

对象。用户名为zhangsan;

对象密码123;

对象=获取函数(){

警报(此用户名+

}

返回对象;

}

Var obj1=createObject ();

var obj2 = CreateObject();

obj1.get();

2 修改密码

obj2 {密码} =123456;

obj2.get();


上面的方法有创建对象的缺点(每个对象都有get方法,这会浪费内存)。改进的工厂模式(所有对象共享get方法):

复制代码代码如下所示:

所有对象共享

var =函数(){

警报(此用户名+

}

对象/工厂方法

var =函数CreateObject(用户名、密码){

对象=新对象();

对象;

对象。密码=密码;

对象获取;注意:此方法不写入括号。

返回对象;

}

以工厂方法创建对象

VaR object1 = CreateObject(zhangsan

VaR object2 = CreateObject(丽丝

调用get方法

object1.get();

object2.get();


第三种方法:构造函数方法定义对象

复制代码代码如下所示:

var =函数(){

警报(此用户名+

}

功能人(用户名,密码){

在执行第一行代码时,js引擎将为我们生成一个对象。

这个用户名=用户名;

密码=密码;

这个=获取=获得;

在这里,有一个隐藏的返回语句,用于返回结果对象{这里是和工厂模式不一样的地方。

}

无功的人=新的人(zhangsan

person.get();


第四种方式:原型(原型)创建对象的方式

原型是对象对象中的一个属性,所有的人对象也可以具有原型的属性。

您可以向对象的原型、方法添加一些属性。

简单地使用一个原型来创建一个对象的缺点:(1)不能传递参数,只能在创建对象之后改变它的值。

(2)可能导致程序错误。

复制代码代码如下所示:

功能人(){

}

的人。原型。用户名为zhangsan;

人。原型。密码=123;

的人。原型。GETINFO =函数(){

警报(此用户名+

}

VaR甲=新的人();

var 2 =新的人();

甲。用户名为丽丝;

person1.getinfo();

person2.getinfo();


复制代码代码如下所示:

功能人(){

}

原型。用户名=新数组();

人。原型。密码=123;

的人。原型。GETINFO =函数(){

警报(此用户名+

}

VaR甲=新的人();

var 2 =新的人();

person1.username.push(wanglaowu );

person1.username.push(wanglaowu2 );

2。密码为456;

person1.getinfo();

person2.getinfo();


简单地使用原型定义对象不能在构造函数中赋予属性的初始值,并且只能在生成对象之后更改属性的值。

第五种方法:使用原型+构造函数定义对象——推荐使用

物体的属性不互相干扰。

在不同对象之间共享相同的方法

复制代码代码如下所示:

使用/原型+方式定义对象构造函数

功能人(){

在构造函数中定义的属性

这个用户名=新数组();

这个密码= 123;

}

在原型中定义的方法

的人。原型。GETINFO =函数(){

警报(此用户名+

}

新的人();

新的人();

p1.username.push(zhangsan);

p2.username.push(思);

p1.getinfo();

p2.getinfo();


第六种方式:动态原型-推荐使用

在构造函数中,所有对象都由一个方法由标志量共享,并且每个对象都有自己的属性。

复制代码代码如下所示:

var =函数(用户名,密码){

这个用户名=用户名;

密码=密码;

如果(typeof的人。旗= =未定义){

警报();

的人。原型。GETINFO =函数(){

警报(此用户名+

}

人,旗帜=真的;

}

}

VaR P1 =新的人(zhangsan

VaR P2 =新的人(丽丝

p1.getinfo();

p2.getinfo();

相关文章

Web页面上ajax风格的加载效果

Web页面上ajax风格的加载效果

加载,风格,效果,页面,电脑软件,现在流行的一种风格是ajax加载,发现在一些广泛使用的ajax技术网站上,页面加载会自动显示一条消息,加载动画后,网页加载自动消失,是一个带有加载功能的网页。 {备注:对于外部JS的引入,需要执行刷新}…

PS合成玻璃球破碎效果

PS合成玻璃球破碎效果

效果,电脑软件,PS,本教程介绍给一位朋友,他用PS合成超创意玻璃球破碎特效课程。这门课产生的特效真的很逼真。作者很好地介绍了站点,并推荐像它这样的朋友可以和教程一起学习。 本教程是向PS的朋友介绍,这是一个极具创意的玻璃球破碎特效课程…

jQuery实现选中的统计复选框的数量

jQuery实现选中的统计复选框的数量

统计,数量,复选框,电脑软件,jQuery,代码非常简短,功能非常简单,但是它非常实用,而且它不能解释这里的直接代码。 jQuery代码: 复制代码代码如下所示: 功能countnum(){ / /警报($(输入{姓名}:检查检查)。长度); 数组=新数组(); 可变项目= document.get…

PS制作一个漂亮的丝带式立体图标课

PS制作一个漂亮的丝带式立体图标课

图标,丝带,漂亮,课程,电脑软件,本教程介绍给一位朋友,他用PS制作漂亮的缎带样式,三维水晶图标。本教程制作的水晶图标非常漂亮。教程的难度不是很大。非常适合初学者学习和推荐。希望你喜欢它。 本教程是介绍给一个朋友,谁使用PS创建美丽的丝…

插画制作酷信扁长影效果

插画制作酷信扁长影效果

插画,效果,扁长,电脑软件,本教程是介绍使用插画的朋友制作的超酷平板长影法,教程出来的效果很好,教程也不是很难,推荐喜欢的朋友可以跟着教程一起学习。 本教程是介绍插画朋友制作的超酷平板长影效果,很好的教程,非常详细的介绍,ADO,打开ai我们要…

Web缓存常用语言清洗方法综述

Web缓存常用语言清洗方法综述

方法,缓存,语言,综述,常用,本文的示例总结了清除各种常用语言的Web缓存的方法,供大家参考,具体实现方法如下: 一般来说,如果我们想清除缓存,只需要将页面设置为无缓存即可。当然,像ASP,PHP,我们只需要设置过期操作。 html网页: 复制代码代码如下…

教你用PS制作漂亮的QQ头像或YY头像

教你用PS制作漂亮的QQ头像或YY头像

头像,教你用,漂亮,电脑软件,QQ,本教程由ps学习者讲授,使用ps制作漂亮的QQ头或YY头。本教程很实用,用动态图向你解释,建议你喜欢的朋友可以过来参考一下,希望能帮到你。 你还在为一个好的QQ头像或者YY头像寻找一个伟大的神吗读完这篇文章,你将学…

画家为女士画了美丽的卡通教程

画家为女士画了美丽的卡通教程

教程,画了,画家,女士,卡通,本教程是向您介绍使用画家绘制美丽的卡通夫人。你画的那位女士很漂亮。教程的难度不是很大。它不是很大。已经转交给它了。喜欢的朋友可以一起画画。 本教程是向您介绍使用画家绘制美丽的卡通夫人。你画的那位漂…

ps制作了一个带有时钟的小型方形收

ps制作了一个带有时钟的小型方形收

时钟,方形,收音机,画面,电脑软件,本教程是介绍给一个朋友,谁使用PS,使一个非常现实和小型方形收音机的图片与时钟。这个教程的效果非常精美,作者很生动地描述了每个细节,难度有点大,但是教程很好。推荐并一起学习。 本教程介绍PS与小正方形图片…

详细步骤如何用Visio2007创建基本

详细步骤如何用Visio2007创建基本

框图,步骤,如何用,详细,电脑软件,微软Visio2007是图形绘制软件,很好用。它为我们提供了许多模板和无数的形状,但有许多复杂的形状,我们不会画。接下来我们将分享Visio2007创建基本框图详细步骤。 微软Visio2007为我们提供了大量的模板和众多的…

利用自己在Laravel写的类库中的3种

利用自己在Laravel写的类库中的3种

类库,种方法,电脑软件,Laravel,虽然作曲家使我们能够重用现有的类库(如Packagist。org),我们还可以使用一些不兼容的作曲家包或类图书馆。此外,在一个项目中,我们还可以创建一个类的库,不得有使作曲家包的意图。在这个时候,我们可以在以下方式使用…

Javascript中面向对象的两种访问对象属性

Javascript中面向对象的两种访问对象属性

对象,属性,面向对象的,两种,电脑软件,本文分析了Javascript对象访问对象属性的两种方式,供大家参考: Javascript两种面向对象访问对象属性的方法,如下面的代码所示: 复制代码代码如下所示: 函数(人){ }; 新的人(); 国王的美丽; document.writeln(P1。姓名+ ); d…