美文网首页
JS中的对象,以及原型

JS中的对象,以及原型

作者: 谁在烽烟彼岸 | 来源:发表于2020-05-21 16:37 被阅读0次

JavaScript的简单数据类型包括数字,字符串,布尔值(true/false), null值和undefined值。其他所有值都是对象。数字,字符串,布尔值也有方法,但是他们是不可变的。

对象是可变的键控集合,是属性的容器。属性的名字是包括空字符长在内的任意字符串(如果属性名是一个合法的JavaScript标识符,且不是保留字,则不需要用引号包裹。反之,则必须用引号包裹)。属性值可以是除了undefined值之外的任何值。

对象的三个相关对象特性

  • 对象的原型(prototype)指向它的原型对象,本对象继承自它的原型对象
  • 对象的类(class)是一个标识对象类型的字符串
  • 对象的拓展标记(extensible flag)指明了是否可以向该对象添加新的属性

创建

//直接量
var obj = {};
//new
var m = new Object();
var a = new Array();
var r = new RegExp("js");
//Object.create()
var o = Object.create({x:1, y:2});
var o1 = Object.create(null);//o1不继承任何方法和属性
var o2 = Object.create(Object.prototype);//和{}/Object()一样
var o3 = Object.create({}, {
  p: {
    value: 2,       // 属性值
    writable: true,     //  是否可以重写值
    enumerable: true,   //是否可枚举
    configurable: true  //是否可以修改以上几项配置
  }
});

Object.create() 是一个静态函数,用于创建一个新的对象,第一个参数是这个对象的原型,第二个参数用以对对象的属性的进行进一步描述。

检索

对象的检索可以使用 “.”,或者["name"]来检索属性,如果属性名是一个合法的JavaScript标识符,且不是保留字,则可以使用“.”。反之,则必须用["name"])。

引用

对象通过引用来传递,但永远不会被复制;

原型/原型链

每个对象都连接到一个原型对象,并可以从中继承属性,所有通过对象字面量创建的对象最终都会连接到Object.prototype,从而建立起原型连接。
原型连接在更新是不起作用。只会更新该对象,不会触及其原型。
原型只有在检查值的时候才会被用到。从子类开始,依父子关系逐层查找属性的过程叫做委托。
原型关系是一种动态的关系,如果我们添加一个属性到原型之中,该属性对所有子类可见。

枚举

for...in... 可以用来遍历一个对象中的所有属性名,包括函数,属性,以及原型的函数和属性。若想过滤掉原型的方法/属性,可使用过滤器hasOwnProperty方法,用typeof来排除函数。
for 遍历不会包含原型的方法或者属性

减少全局变量的使用

创建一个唯一的对全局变量,然后将其他参数作为属性注入

相关文章

  • JS中的对象,以及原型

    JavaScript的简单数据类型包括数字,字符串,布尔值(true/false), null值和undefine...

  • JS汇总---面向对象&数组

    面向对象 js原型链的继承 静态属性怎么继承 js原型链以及特点 面向对象有哪几个特点 封装,继承,多态 对象的继...

  • 原型和原型链的简单理解

    原型 在JS中原型就是prototype对象,用来表示类型之间的关系。 原型链 JS中对象和对象之间是有联系的,通...

  • 2022前端高频面试题

    JS相关 1.原型和原型链是什么 原型和原型链都是来源于对象而服务于对象的概念js中引用类型都是对象,对象就是属性...

  • js中的prototype

    prototype翻译过来是原型的意思,在js中特指对象的原型prototype对象是js实现面向对象的一个重要机...

  • 在nodejs中面向对象:Bearcat

    JS中的面向对象 最最最开始,我们先来说说JS中的面向对象。 原型链 参考文章:图解Javascript原型链 J...

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • Prototype(原型对象)学习

    一、Prototype(原型对象) js中的每一个对象,都有一个原型对象;Data对象有一个原型对象Data.pr...

  • 原型及原型链

    什么是原型 js中的原型指的是一个对象可以从另一个对象继承特性。每个对象都有一个原型对象,对象以其原型对象为模板,...

  • 原型和原型链

    原型 javascript中每个JS对象一定对应一个原型对象,并从通过proto属性原型对象继承方法和属性 jav...

网友评论

      本文标题:JS中的对象,以及原型

      本文链接:https://www.haomeiwen.com/subject/amvzohtx.html