构造函数 和实例成员与静态成员

本文介绍了JavaScript中的构造函数,强调其与普通函数的区别在于调用方式和用途,主要用于创建实例对象。通过`new`关键字调用构造函数,并使用`this`来构造实例对象的属性和方法。此外,还讲解了`instanceof`操作符用于检测对象的构造函数关系,以及`constructor`属性指回构造函数本身。区分了实例成员(由构造函数内部定义,仅实例对象使用)和静态成员(直接在构造函数上定义,供构造函数自身使用)。最后,通过示例展示了如何在构造函数中定义和使用静态成员和实例成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hello  大家好 我是王小白  又和大家见面了  今天我们来简单了解一下 构造函数 与 他身上的实例成员 和静态成员吧

1. 构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写

2. 构造函数和普通函数的区别在于:调用方式不一样。作用也不一样(构造函数用来新建实例对象)

3. 调用方式不一样。 普通的函数直接方法名加()即可  构造函数的调用需要new关键字来实现 new 方法名()

4. 内部用this 来构造属性和方法 

      代码演示: 

<script>
  // 构造函数
  function Person(name,age) {
    // 构造函数内部的 this 就是实例对象

    // 实例对象中动态添加属性
    this.name = name;
    this.age = age;  
    // 实例对象动态添加方法
    this.sayHi = function () {
      console.log('大家好~');
    }
  }

  // 实例化,p1 是实例对象
  // p1 实际就是 构造函数内部的 this
    // new 的参数是实参 , 与上面的形参一一对应
  let p1 = new Person('小明',18);

  console.log(p1);
  console.log(p1.name); // 访问实例属性
  p1.sayHi(); // 调用实例方法
</script>

5. 执行过程:

        1.会现在内存开辟一个新的空间

        2.会用this指向这个对象

        3.执行函数代码  添加属性 方法

        4.返回这个对象  返回到调用位置

6. 可以通过 instanceof 来检测一个对象是否属于另外一个构造函数的  返回的是布尔值

<script>
      let o = {}

      console.log(o instanceof Object)
//  返回 true

</script>

7. constructor 可以指回构造函数本身

   <script>
      function o() {}

      let A = new o()

      console.log(A.constructor)

    //返回结果:  ƒ o() {}
    </script>

8. 成员区别 :

	// 我们吧构造函数身上直接添加的成员,称为静态成员
	// 我们吧构造函数内部的成员,称为实例成员,(实例对象使用的成员)
        

			// 静态成员:
				// 构造函数直接添加的成员,称为静态成员
				// 静态成员只能由构造函数使用
				// 静态属性和静态方法
			// 实例成员:
				// 构造函数内部的成员,称为实例成员
				// 实例成员只能由实例化对象使用
				// 实例属性和实例方法


function Person (uname, age) {
                // 构造函数内部称为 实例化成员

				this.uname = uname;
				this.age = age;
				this.say = function () {
					console.log('说话');
				}

			}




        	// 实例化对象
			let obj = new Person('张三丰', 22);



            
		// 静态成员
			Person.language = '汉语';
			Person.legs = 2;
			Person.eat = function () {console.log('吃饭');}

    

好了  我们下次见咯~  bey~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值