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

博客网站注册网站开发模板

博客网站注册,网站开发模板,什么是网络社交安全,常德建设网站1. 什么是对象? 在 JavaScript 中,对象是一种包含属性和方法的数据结构。你可以把对象想象成一个存储键值对的容器。每个键(key)都有一个对应的值(value),这个值可以是数据或者函数。 let per…

1. 什么是对象?

在 JavaScript 中,对象是一种包含属性和方法的数据结构。你可以把对象想象成一个存储键值对的容器。每个键(key)都有一个对应的值(value),这个值可以是数据或者函数。

let person = {name: "Alice",age: 25,greet: function() {console.log("Hello, my name is " + this.name);}
};// 访问对象的属性和方法
console.log(person.name);  // 输出: Alice
console.log(person.age);   // 输出: 25
person.greet();            // 输出: Hello, my name is Alice

2. 什么是原型?

在 JavaScript 中,每个对象都有一个原型(prototype)。原型是另一个对象,所有的对象可以通过原型继承属性和方法。比如,JavaScript 中的所有对象默认继承自 Object.prototype,而 Object.prototype 本身也是一个对象。

示例:继承自 Object.prototype 的方法
let obj = {};
console.log(obj.toString());  // 输出: [object Object]

在这个例子中,obj 是一个空对象。虽然我们没有定义任何属性或方法,但它仍然能使用 toString() 方法,因为它继承自 Object.prototype,其中定义了 toString()

3. 原型链

当你访问对象的属性时,JavaScript 会首先在对象本身查找。如果没找到,它会去该对象的原型中寻找。这种逐层查找的机制被称为原型链

示例:通过原型链查找属性
let animal = {species: "Dog"
};let pet = Object.create(animal);  // pet 继承自 animal
pet.name = "Buddy";console.log(pet.name);    // 输出: Buddy (在 pet 对象本身找到)
console.log(pet.species); // 输出: Dog (在 pet 的原型 animal 中找到)

在这里,pet 继承自 animal,当访问 pet.species 时,JavaScript 没有在 pet 本身找到 species 属性,于是转而去它的原型 animal 中查找,成功找到。

4. 对象原型污染的例子

原型污染的代码示例:
let innocentObject = {};// 模拟用户输入的对象,其中有 __proto__ 属性
let userInput = {__proto__: {hacked: "Yes, I am hacked!"}
};// 合并用户输入到 innocentObject 中
Object.assign(innocentObject, userInput);console.log(innocentObject.hacked);  // 输出: undefined
console.log({}.hacked);              // 输出: "Yes, I am hacked!"
解释:
  1. 在代码中,userInput 包含 __proto__ 属性,这个属性指向一个包含 hacked 属性的对象。
  2. 使用 Object.assign() 方法将 userInput 合并到 innocentObject 中。
  3. 虽然 innocentObject 本身没有 hacked 属性,但是由于 __proto__ 被修改,JavaScript 的原型链被污染,Object.prototype 上被注入了一个 hacked 属性。
  4. 结果是:所有对象(包括空对象 {})都能访问到这个被注入的 hacked 属性。
http://www.yayakq.cn/news/490132/

相关文章:

  • 做商铺最好的网站国外注册公司流程及费用
  • 2017年做那个网站致富挪车码推广赚钱
  • 自己免费做网站(三)桂林网站设计制作
  • 公司网站的开发龙岗网站维护
  • 眉山市住房和城乡建设部网站建设网站的目的饮食类
  • 怎样做相亲网站做网站的文案
  • 公众号平台建设网站官方在家做兼职的网站
  • 做ppt找图片在哪个网站好衡水网站建设培训学校
  • 中学生做的网站有哪些方面网站网络营销推广制作
  • 网站建设实验的总结施工企业营销人员培训
  • 平江高端网站建设有没有做网站
  • 网站设计潮流wordpress外链站内打开
  • 邢台168交友百度seo优化及推广
  • PHP网站建设项目经验最好的建站网站
  • 哪个网站做摄影师好查询公司信息
  • phpcms调用网站名称wordpress视频存储
  • 系统网站有哪些百度广告点击一次多少钱
  • 做电影网站需要注意什么软件软件商店下载最新版
  • 如何制作自己的网站链接教程万维定制平台
  • 网站建设手机app什么nas可以做网站服务器
  • 网站建设汽车后市场解决方案高考毕业做家教网站
  • asp net做购物网站青海城乡建设厅网站
  • 360网站建设服务器seo教程论坛
  • 网站建设定金做什么会计分录做网站法律条文
  • 临沂网站建设服务商什么是网站原创文章
  • 网站中文名要注册的吗巫山那家做网站
  • 淘宝客网站建设分类6网页设计的网站
  • 网站都要icp备案吗工信部网站备案信息查询
  • 城乡建设杂志官方网站做彩妆网站的公司
  • 网站底部友情链接银行内部网站建设建议