构造函数和原型

本文详细介绍了JavaScript中的构造函数和原型,包括构造函数的概念、作用,以及构造函数的问题和解决方案。通过原型,可以实现对象间的属性和方法共享。还讲解了原型链、成员查找机制、原型对象中的constructor属性,以及扩展内置对象的方法。此外,文章探讨了继承的实现,如call()方法的使用,以及如何借用构造函数和原型对象继承父类型属性和方法。
摘要由CSDN通过智能技术生成

title: 构造函数和原型
date: 2021-06-19 17:02:49
tags:

构造函数和原型

目标

  • 能够使用构造函数创建对象
  • 能够说出圆形的作用
  • 能够说出访问对象成员的规则
  • 能够使用ES5新增的一些方法

1. 构造函数和原型

1.1 概述

创建对象可以通过以下三种方式:

  1. 对象字面量

    var obj1 = {};
    
  2. new Object()

    var obj2 = new Object();
    
  3. 自定义构造函数

    function Star(uname, age) {
    	this.uname = uname;
    	this.age = age;
    	this.sing = function() {
    		console.log("我会唱歌");
    	}
    }
    var people1 = new Star('小明',18);
    people1.sing();
    

1.2 构造函数

构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

在JS中,使用构造函数时要注意以下两点:

  1. 构造函数用于创建某一类对象,其首字母要大写
  2. 构造函数要和 new 一起使用才有意义

new 在执行时会做四件事情:

  1. 在内存中创建一个新的空对象。
  2. 让this指向这个新的对象。
  3. 执行构造函数里面的代码,给这个新对象添加属性和方法。
  4. 返回这个对象(所以构造函数里面不需要 return)。

JavaScript的构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this上添加。通过这两种方式添加的成员,分别成为静态成员和实例成员。

  • 静态成员:在构造函数本上添加的成员称为静态成员,只能由构造函数本身来访问。
  • 静态成员:在构造函数内部创建的成员称为实例成员,只能由实例化的对象来访问。

1.3 构造函数的问题

构造函数方法很好用,但是存在浪费内存的问题。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qnSilt7j-1624943609495)(%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%E5%92%8C%E5%8E%9F%E5%9E%8B%20037cdef6ee2348edb515059144b84f85/Untitled.png)]

1.4 构造函数原型prototype

构造函数通过原型分配的函数是对象所共享的

JavaScript规定,每个构造函数都有一个prototype 属性,指向另一个对象,注意这个prototype属性,执行另一个对象。注意这个 pr

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值