JavaScript——原型

1.在JavaScript中,原型也是一个对象,通过原型可以实现 对象的属性继承,JavaScript的对象中都包含了一个"[[prototype]]"内部属性,这个属性所对应的就是该对象的原型。

2.原型的思想就是内存复用。

3. typeof是一个系统提供的全局函数  它的返回值是一个字符串:string 、number、boolean、null、undefined、Object、function

    可以使用typeof()来查看数据的类型。 

        var a = 10
		var b = [1,2,3]
		console.log(typeof a)
		console.log(typeof b)

 

4.object和function 都是js中的引用数据

引用数据就是一种内存空间,是一种数据容器(数据容器就是可以存储很多数据的引用)

数组是一种有下标的数据容器

对象是一种键值对的数据容器

函数是一种有代码块和作用域的数据容器

5.函数的属性:

name : 保存一个字符串  就是函数的名字

length :保存一个数字  是函数的形参的个数

prototype : 保存了一个对象,这个对象是new Object()

6.所有的函数都有name,length,prototype属性,用函数创建对象,创建出来的对象的原型对象就是prototype属性引用的对象。prototype属性中引用了一个系统内置的对象: new object()

        function fn() {
			this.a = 1
		}
		var f1 = new fn()
		console.log(f1.__proto__)
		console.log(f1.__proto__ === fn.prototype)

 

 

7.对象有__proto__属性  代表它的原型对象

函数有prototype属性  代表创建的对象的原型对象

原型对象可以访问成员

            function fn() {
				this.a = 20
			}
			function fm() {
				this.a = 30
			}
			fm.prototype.fn = new fn()
			
			var f1 = new fm()
			console.log(f1) 

 结果:

8.用函数创建对象 这个创建出来的对象有个原型对象1;又用这个函数创建对象 这个创建出来的对象也有个原型对象2;原型对象1和原型对象2是同一个对象 

 

            function fn() {
				this.a = 20
			}
			var f1 = new fn()
			var f2 = new fn()
			console.log(f1.__proto__)
			console.log(f2.__proto__)
			console.log(f1.__proto__ === f2.__proto__)

 结果:

9.对象取成员是,如果对象没有该成员,就会取原型对象中查找取值;如果所有原型对象中都没有就返回undefined.

            function fn() {
				
			}
			fn.prototype.a = 10
			var f1 = new fn()
			console.log(f1.a)
		

 结果:

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z_小张同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值