当前位置: 首页 > news >正文

甘肃省城乡城乡建设厅网站首页搜索大全

甘肃省城乡城乡建设厅网站首页,搜索大全,华强北网站建设公司,建站的步骤有哪些文章目录原型和原型链构造函数原型显式原型(prototype)隐式原型(\_\_proto\_\_)原型链总结原型和原型链 在js中,原型和原型链是一个非常重要的知识点,只有理解原型和原型链,才能深刻理解JS。在…

文章目录

  • 原型和原型链
    • 构造函数
    • 原型
      • 显式原型(prototype)
    • 隐式原型(\_\_proto\_\_)
    • 原型链
    • 总结

原型和原型链

在js中,原型和原型链是一个非常重要的知识点,只有理解原型和原型链,才能深刻理解JS。在这一个月的面试中,原型和原型链也是一个高频知识点,现做出如下总结。

构造函数

构造函数本身就是一个函数,只是为了与普通函数区别,其首字母一般大写,构造函数与普通函数的区别在于,使用new创建实例的函数就是构造函数,直接调用则是普通函数。

function Student(){this.name="构造函数"
}var stu=new Student()console.log(stu.name);//构造函数

原型

显式原型(prototype)

JS是一门基于原型的语言。而JS中的原型是其中十分重要的一个概念。原型本质上就是一个对象,它的存在是为了JS中的实例对象可以获取到原型中的公共属性和公共方法
每个对象都有一个显式原型对象,当我创建一个名为Student的类时,其显式原型原型如下:

  • constructor:显式原型中包含的构造函数属性,指向该显式原型的构造函数
console.log(Student,Student.prototype);//输出展示如下图

Student的原型
于是,构造函数和原型之间存在以下关系,原型相当于每一个对象实例的私有属性,即每当创建一个对象,该对象就会有一个为空的显式原型属性。
构造函数和原型之间的关系

隐式原型(__proto__)

每一个对象(除了null)都有一个属性叫做__proto__(隐式原型),通过它可以访问到该对象的构造函数的原型对象,关系如下:
加入隐式原型的关系图
从JS的数据类型可以知道,函数类型本质是也是对象,而对象的原型又是指向其构造函数的原型对象,得出如下关系:
加入Object之后

下面是一段关于原型的代码,方便大家理解:

function Person() {this.name = "构造函数";function col() {console.log('我是构造函数中的方法');};
}
Person.prototype = {name: "原型",age: "18",getNum: function () {console.log('我是构造函数中的原型', 1);}
}
var per = new Person()
console.log(per.__proto__.__proto__ == Object.prototype);// true 对象实例的隐式原型(本质就是通过Object()构造出来的实例对象)的隐式原型指向Object.prototype;
console.log(per.__proto__ == Person.prototype);// true 没有给隐式原型添加数据时,其默认指向其构造函数的显式原型
console.log(per.name, per.age,per.getNum);// 原型,18 ,getNum  可以从构造函数中获取到age和name以及getNum,这里不能直接调用,但在外可以(原因不知)// 当为实例对象per的隐式原型中添加了数据时
per.__proto__={name:"隐式原型",age:"22"
}
console.log(per.name, per.age,per.getNum); // 隐式原型,22,报错,getNum不存在
//原因,此时实例对象的__proto__指定了特定的值,不会再去其构造函数的显示原型中查找,所以找不到getNum,报错

原型链

每个对象拥有一个原型对象,通过 __proto__ 指针指向上一个原型 ,并从中继承方法和属性,同时原型对象也可能拥有原型,这样一层一层,最终指向 null。这种关系被称为原型链 (prototype chain),通过原型链一个对象会拥有定义在其他对象中的属性和方法。
最后的关系图如下:
原型链最后的关系图

总结

  • 使用new生成实例的函数就是构造函数,直接调用的就是普通函数。
  • 原型的主要作用是用来存储对象实例的公共属性和公共方法
  • 每个对象都拥有一个原型对象;每个引用类型的隐式原型都指向它的构造函数的显式原型;
  • 一个对象可以通过原型链获取其他对象的属性和方法
  • Object.prototype是所有对象的根对象,即原型链终点,其隐式原型指向Null;
http://www.tj-hxxt.cn/news/42863.html

相关文章:

  • 专门帮人做网站的公司网络营销百科
  • 用个人电脑做网站的步骤网站seo优化免费
  • 网站开发架构有哪些免费注册网站有哪些
  • 校园网站建设的维护怎么做网站推广多少钱
  • 免费域名注册优惠优化百度搜索
  • php 开源 建站网站怎样才能在百度被搜索到
  • 做驾校题目用什么网站好烟台seo网络推广
  • 温岭网站建设制作游戏推广员骗局
  • 找工程项目百度怎么做关键词优化
  • 做网站建设的好处百度信息流怎么投放
  • 网站建设公司哪家好 尖端磐石网络免费淘宝关键词工具
  • 自己做的网页可以上传网站吗网络营销文案策划
  • 广东省建设信息网网站竞价排名是什么意思
  • mvc 做网站google搜索引擎入口 镜像
  • 重庆祥云平台做网站百度竞价搜索
  • 手机微信网站设计seo下载站
  • 一级a做爰电影片免费网站网站快速优化排名app
  • python能够做网站app推广拉新平台
  • 鸣蝉网站建设公司关键字有哪些
  • 南昌网站推广¥做下拉去118crseo网站推广实例
  • 网站建设经典语录怎么注册一个自己的网站
  • 遂宁做网站厦门网络推广
  • 网站地图链接怎么做免费二级域名建站
  • 连云港最新疫情最新消息seo短视频网页入口引流
  • 网站设计建搜索引擎优化工具
  • 制作充值网站中央突然宣布一个大消息
  • 微网站用什么做厦门seo结算
  • 网站如何进行代码优化免费发布推广信息的平台
  • 网站的在线聊天怎么做seo网络推广经理招聘
  • 搜索引擎优化和关键词竞价广告的区别深圳宝安seo外包