JS进阶-构造函数创建对象
最佳答案 问答题库688位专家为你答疑解惑
创建对象的三种方式
1.利用对象字面量创建对象obj={}
2.利用new Object创建对象obj=new Object({})
3.利用构造函数创建对象
构造函数
是一种特殊的函数,主要用来初始化对象,在技术上就是常规函数。
使用场景:常规的{...}语法允许创建一个对象。比如我们创建了佩奇的对象,继续创建乔治的对象还需要重新写一遍,此时可以通过构造函数来快速创建多个类似的对象。
function Pig(name, age, gender) {this.name = namethis.age = agethis.gender = gender}const Peppa = new Pig('佩奇', 6, '女')const Grorage = new Pig('乔治', 3, '男')
两个约定:
1.它们的命名以大写字母开头。
2.它们只能由“new”操作符来执行。
说明:
1.使用new关键字调用函数的行为被称为实例化
2.实例化构造函数时没有参数时可以忽略()
3.构造函数内部无需写return,返回值即为新创建的对象
4.构造函数内部的return返回的值无效,所以不要写return
5.new Object()、new Date()也是实例化构造函数
实例化执行过程
说明:
1.创建新空对象
2.构造函数this指向这个对象
3.执行构造函数代码,修改this,添加新的属性
4.返回新对象
实例成员&静态成员
实例成员:通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)
说明:
1.为构造函数传入参数,创建结构相同但值不同的对象
2.构造函数创建的实例对象彼此独立互不影响,实例成员当前实例对象使用
function Pig(name) {this.name = name}const Peppa = new Pig('佩奇')Peppa.name = '小猪佩奇'//实例属性Peppa.sayHi = () => {//实例方法console.log('hi')}
静态成员:构造函数的属性和方法被称为静态成员(静态属性和静态方法)
说明:
1.静态成员只能构造函数来访问
2.静态方法中的this指向构造函数
比如Date.new()、Math.PI、Math.random()
function Person(name) {//省略实例成员}Person.eyes = 2//静态属性Person.walk = function () {//静态方法console.log("人都会走路")}
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"JS进阶-构造函数创建对象":http://eshow365.cn/6-15380-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!