如何理解原型?

文章详细阐述了HTML中<title>与<h1>的区别,CSS的position属性的各种定位方式,以及JavaScript中的原型概念和作用,包括对象的隐式原型和显示原型,以及constructor与构造函数的关系。
摘要由CSDN通过智能技术生成

一省:HTML

11. title与h1的区别?

  1. title:可定义文档的标题,概括了网站信息,可以告诉搜索引擎或者用户这个网站的内容主题是什么。
  2. h1:写在文章正文的标题部分,是展示给用户看的,更突出其视觉效果。
<html lang="en">
<head>
  <title>网页主题</title>
</head>
<body>
  <h1>文章名称主题</h1>
</body>
</html>

二省: CSS

11. position的值有哪些?分别是相对于哪个位置定位的?

position的值有:static、relative、absolute、fiexd、sticky

  1. static: 静态(默认),正常流,无特殊表现。
  2. relative: 相对定位,相对于自身在正常文档中的位置定位。
  3. absolute: 绝对定位,相对于最近的定位祖先元素(static元素除外)进行定位。
  4. fiexd:固定定位,相对于浏览器窗口定位的,这意味着即使滚动页面,它也始终位于同一位置。
  5. sticky:粘性定位,根据用户的滚动位置进行定位。

sticky粘性布局

三省:JavaScript

11. 如何理解原型?

  1. 每一个对象都有一个[[prototype]](在浏览器中为__proto__)属性,这个属性称为对象的原型(隐式原型)。
  2. 每一个函数创建的时候都会有一个prototype属性,即显示原型。除此之外,因为函数也是一个对象,所以函数也有隐式原型(__proto__).
  3. 对象的隐式原型指向构造函数的显示原型,即
//普通对象
var obj = {}
console.log(obj.__proto__ === Object.prototype)//true

//构造函数创建的对象
function Person(){}
var person = new Person()
console.log(person.__proto__ === Person.prototype)//true

原型的作用:
当我们使用一个对象的属性或者方法时,先从当前对象查找,如果没有就会沿着它的原型查找,如:

function Person(){}
Person.prototype.name = "Jason"
Person.prototype.say = function () {
  console.log("say hello!");
}
var person = new Person()
console.log(person.name);//Jason
person.say();//say hello!

补充:
原型对象(prototype)还有一个属性是constructor,构造函数的prototype指向原型对象,原型对象的constructor指回构造函数,即

function Person(){}
var person = new Person()
console.log(Person.prototype === person.__proto__);//true
console.log(Person.prototype.constructor === Person);//true
console.log(person.__proto__.constructor === Person);//true

原型是js比较绕的一个知识点,不知道在下解释的清不清楚,推荐几篇大佬的文章吧
https://blog.csdn.net/lixiaonaaa/article/details/113808172

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端每日三省

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

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

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

打赏作者

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

抵扣说明:

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

余额充值