欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入解析:构造函数与原型中属性和方法的声明原因

时间:10-27 神话故事 提交错误

大家好,今天来为大家解答深入解析:构造函数与原型中属性和方法的声明原因这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

this.name=名称}; //这是一个构造函数

varperson1newPerson("Jone") //构造函数new的实例

varperson2newPerson("li") //构造函数new的实例

这里的person1和person2都是实例,是通过new构造函数实例化的对象。

Person是一个类,也是一个构造函数

总的来说,它具有以下特点:

1、构造函数必须与类同名,一般没有返回值。

2. 每个类可以有多个构造函数。当开发者没有提供构造函数时,编译器在将源代码编译为字节码的过程中,会提供一个默认的不带参数的构造函数,但是这个构造函数不会执行任何代码。如果开发者提供了构造函数,编译器将不再默认创建构造函数。

3.构造函数可以有0个、1个或多个参数

4.构造函数总是与new操作一起调用,不能由程序编写者直接调用。它必须由系统调用。构造函数在实例化时会被自动调用,并且只会执行一次,而普通方法则是在程序执行时调用,可以被对象调用多次。

5.构造函数主要作用是完成对象的初始化

6、构造函数不能被继承,因此不能被重写,但可以重载,即使用不同数量的参数或参数类型定义多个构造函数。

7、子类可以通过super关键字显式调用父类的构造函数。当父类提供带参数的构造函数时,子类的构造函数必须显式调用父类的构造函数。如果父类提供了无参构造函数,则子类的构造函数不能显式调用父类的构造函数。这种情况下,编译器会默认调用父类提供的无参构造函数。当有父类时,实例化对象时,会先执行父类的构造函数,然后再执行子类的构造函数。

当父类和子类都没有定义构造函数时,编译器会为父类生成一个默认的无参构造函数,为子类生成一个默认的无参构造函数。另外,默认构造函数的修饰符只与当前类的修饰符相关(例如,如果一个类被定义为public,那么它的构造函数也是public)。

为什么说属性在构造函数中声明,方法在原型中声明?

因为在构造函数中声明后,通过new关键字实例化的实例是单独享有的,所以属性是在构造函数中声明的;并且由于方法是大家共享的,不经常改变,所以可以在prototype中声明方法。当然,方法也可以在构造函数中声明

在构造函数中声明是为了属性能单独享有

在构造函数的proptotype中声明是为了实例能共享

分别向实例对象和对象构造器中添加属性和方法

1.为创建的实例对象添加属性和方法 -----直接 " . "

属性:

myFather.nationality="英语";

方法:

myFather.name=function () { return this.firstName + " " + this.lastName;};

即直接实例name.property=value/function的方法

2.为构造函数添加属性和方法

如果需要在构造函数中添加新的属性,必须添加到构造函数中--------(直接写入构造函数中)

与向现有对象添加新方法不同,您无法向对象构造函数添加新方法。您必须在构造函数内向对象添加方法:

例如下面的代码: this.nationality="English";是添加到构造函数中的新属性,

this.name=function() {return this.firstName + " " + this.lastName;};是添加到构造函数中的新方法

函数Person(名字、姓氏、年龄、眼睛颜色) {

this.age=年龄;

this.eyeColor=眼睛颜色;

+this.nationality="英语";

+ this.name=function() {return this.firstName + " " + this.lastName;};

}

使用prototype属性--------通过添加(类名.proyotype.property=value)

JavaScript 原型属性允许向对象构造函数添加新属性:

functionPerson(第一个,最后一个,年龄,眼睛颜色) {

this.age=年龄;

this.eyeColor=眼睛颜色;}

Person.prototype.nationality="英语";

JavaScript 原型属性还允许向对象构造函数添加新方法:

函数Person(名字、姓氏、年龄、眼睛颜色) {

this.age=年龄;

this.eyeColor=眼睛颜色;}

用户评论

执笔画眉

我正在学JavaScript,这篇文章内容挺相关的,感觉可以让我更好地理解这个概念。

    有8位网友表示赞同!

浮殇年华

终于有人解释清楚了构造函数到底是什么了!以前总觉得有点糊涂

    有18位网友表示赞同!

折木

属性和方法放在哪里确实很关键啊,学习到新知识!

    有14位网友表示赞同!

算了吧

这篇文章的讲解还挺简单易懂的,新手看应该也能明白。

    有9位网友表示赞同!

追忆思域。

我想知道除了这个说法以外还有其他关于构造函数解释的方法吗?

    有13位网友表示赞同!

安之若素

原来属性和方法是这样区分声明位置的吗?很有趣!

    有11位网友表示赞同!

青瓷清茶倾城歌

这篇内容很明确地表达了重点,容易理解和记忆。

    有11位网友表示赞同!

鹿先森,教魔方

我之前写的代码可能有点问题,可能是因为属性和方法的定义位置没搞清楚?

    有14位网友表示赞同!

Edinburgh°南空

学习JavaScript真是一个不断探索的过程,今天又学到了新的知识点!

    有12位网友表示赞同!

志平

我觉得这篇讲解很有用,可以帮我解决一些编程上的疑惑。

    有10位网友表示赞同!

柠栀

我会尝试用这种方法来写我的代码看效果怎么样

    有8位网友表示赞同!

一生只盼一人

这个说法听起来很合理,我现在更加明白构造函数的作用了!

    有20位网友表示赞同!

如你所愿

看了这篇文章我感觉自己对JavaScript的理解更深入了一些

    有16位网友表示赞同!

有你,很幸福

真希望所有知识点都能解释得这般清晰易懂!

    有19位网友表示赞同!

迁心

以后我要注意属性和方法的声明位置,避免写出错误的代码

    有8位网友表示赞同!

娇眉恨

这种分类方式很有逻辑性!

    有5位网友表示赞同!

温柔腔

我收藏了这篇文章,待会再仔细阅读一遍

    有13位网友表示赞同!

万象皆为过客

对JavaScript初学者来说这篇文章非常有价值!

    有15位网友表示赞同!

【深入解析:构造函数与原型中属性和方法的声明原因】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活