最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js对象的详细介绍

来源:动视网 责编:小采 时间:2020-11-27 20:18:22
文档

js对象的详细介绍

js对象的详细介绍:a. js对象都是关联数组b. inherit();返回一个继承自原型对象p的属性的新对象 对象的方法: 创建(create) 设置(set) 查找(query) 删除(delete) 检测(test)和枚举(enumerate)创建对象的方法: 对象直接量 关键字new es5中的Object.create
推荐度:
导读js对象的详细介绍:a. js对象都是关联数组b. inherit();返回一个继承自原型对象p的属性的新对象 对象的方法: 创建(create) 设置(set) 查找(query) 删除(delete) 检测(test)和枚举(enumerate)创建对象的方法: 对象直接量 关键字new es5中的Object.create


a.  js对象都是关联数组

b.  inherit();返回一个继承自原型对象p的属性的新对象

对象的方法:

  创建(create) 设置(set) 查找(query) 删除(delete) 检测(test)和枚举(enumerate)

创建对象的方法:

  对象直接量 关键字new es5中的Object.create()

  var aa=Object.create({"x":0,"y":1})

属性的读取和修改:

  1.通过 . 连接 属性不可以改变,不能在运行时更改

  2.通过object['xxx']; 属性可以是变量,比如 object['xx'+a]; a可以是个变量,这样属性就不确定了,可以在运行中更改

  3.查询一个没有的属性会返回undefined

  4.查询一个对象的属性,如果对象不存在,就会抛出一个错误。如果查询某对象的属性,不让他报错可以这样:

    var a=b&&b.c&&b.c.d;

属性的删除

  1. delete只能断开宿主与宿主对象的联系,而不会去操作属性中的属性,不能删除通过变量声明或函数声明创建的全局全局对象属性,成功返回true,失败返回false

    delete a.b//a不再拥有属性b

    delete a['b']//a不再拥有属性b

属性的检测

  1.in运算符,hasOwnProperty(),propertyIsEnumerable()

    in左侧属性名,有侧是对象如果对象的自有属性或继承属性包含这个属性就返回true,否则false

    var a={x:1} a.hasOwnPreperty('x');//true

    propertyIsEnumerable()是hasOwnPreperty()的增强版,只有属性是可枚举的,并且属于这个对象,才返回true

  2.最简单的方法!==是否为undefined

属性的枚举

  1.在代码中给对象添加的所有属性都是可枚举的,在for/in中我们需要跳过一些属性

    for(p in o){

      if(!o.hasOwnproperty(p)) continue ;//跳过继承属性

    }

    for(p in o){

      if(typeof o[p]==="function") continue ;//跳过方法

    }

  2.在es5中多了两个函数

    Object.keys();//返回一个数组,这个数组由对象中可枚举的自有属性组成

    Object.getOwnPropertyNames();//返回对象中所有自有属性的名称

属性getter和setter (存取器属性)

  1.var 0={

    a:1,//普通的数据属性

    //存取器属性都是成对定义的函数

    get b(){这里是函数体},

    set c(){这里是函数体}

}

对象的三个属性

  1.原型属性:

    var p={x:1};//定义一个原型对象

    var o=Object.create(p);使用这个原型创建一个对象

    p.isPrototypeOf(0);//true,o继承自p

    Object.prototype.isPrototypeOf(o);//p继承自Object.prototype

  2.类属性

  3.可扩展性 通过把对象传入Object.esExtensible()判断对象是否是可扩展的

    Object.prevenExtensions()将带转换的对象作为参数传进去,就会变成不可扩展的,注意,转换成就不能转换回来了

    Object.seal()不仅能够把对象设为不可扩展,而且能把其自身的的所有自有属性设为不可配置

    isSealed()检测对象是否封闭

    Object.freeze() 冻结,不光不可配置,而且止咳可读

    Object.isFrozen() 检查对象是否冻结

对象序列化

  1:JSON.stringify();//转换为JSON字符串

  2::JSON.parse();//转换为对象

对象方法:

  1.toString();

  2.toLocaleString();

  3.toJSON();

  4:valueOf();

文档

js对象的详细介绍

js对象的详细介绍:a. js对象都是关联数组b. inherit();返回一个继承自原型对象p的属性的新对象 对象的方法: 创建(create) 设置(set) 查找(query) 删除(delete) 检测(test)和枚举(enumerate)创建对象的方法: 对象直接量 关键字new es5中的Object.create
推荐度:
标签: 介绍 js 具体
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top