zoukankan      html  css  js  c++  java
  • javascript权威指南第六章,关于对象

    之前一直对对象这东西搞不懂,最开始接触js,有些概念都不理解,买了两本书,有人推荐用高级程序设计做教材,还买了一本权威指南,花了几天时间,很快的把高级程序设计翻了一下,很多东西不知所云,第一遍也只想大概了解一下有哪些东西了,快速翻完后,决定开始看权威指南,从最基础的看起,先大概理解概念,也算两本书结合着看, 这次看呢,知道的东西比之前多了一些,虽然说,知识理解了,书上的例子能看懂,但自己还是写不出来,但是呢,继续加油,大学三年完了,感觉现在才真正想要好好学习,现在快一个月了,知道了一点皮毛,刚看到一篇关于阿里巴巴前端面试的博客,ta入博客园8个月了,我现在才一个月,道且长,往之即可。

    • 关于对象:是一种复合值,将很多值聚合在一起,也是属性和无序集合(名值对)。而且可以从一个称为原型(与该对象存在某种关联的对象)的对象继承属性,(对象的方法通常是继承属性)(这句话对理解原型链和继承特别重要。)
    • (我现在的理解,对象继承自原型,原型本身也是对象,一般都是普通对象,所以也有一个继承的原型---Object.prototype(最顶层的原型)所以由此形成一个原型链
    • 除了字符串,数字,true,false,null 和undefined外的值都是对象。对象中不能存在两个同名属性。
    • 除属性外,对象还有三个相关对象特性(object attribute):原型,类,可扩展标记(extensible flag是否可添加新属性)。
    • 三类对象

                  内置对象(native object):ES规范定义的,Array,Function,Date,RegExp.

                  宿主对象(host object): 宿主环境(web浏览器定义的)。

                  自定义对象 :有运行中的代码创建的对象。

    • 两类属性:自有属性,继承属性。
    • 创建对象途径有三
    1. 对象直接量:var point = {x:0, y:0};
    2. new + constructor(构造函数):var 0 = new object(){函数体};
    3. Object.create(),其中第一个参数就是这个对象的原型   :var o1 = Object.create({x:1, y:1});   //o1继承属性x,y          

                                                                                        var o2 = Object.create(Object.prototype);  //等价于{}和new Object()

    • getter/setter:属性(名-值),若值用getter /setter代替,则该属性为存储器属性(accessor property),

                                                       get accessor_prop(){函数体},(,不可少) set accessor_prop(value){}

       

  • 相关阅读:
    在智能手机上跟踪ADS-B系统的飞机航线信息
    用C#将XML转换成JSON
    在DB2中使用EXPORT实现将数据导出文本文件
    使用Powerdesigner生成设计的数据表(一张或多张)的测试数据
    PowerDesigner常用设置
    转载自——Json.Net如何在序列化之前修改属性值
    转载自——Json.net动态序列化以及对时间格式的处理
    Newtonsoft.Json序列化和反序列
    DB2 数据库中字段特定字符替换为空
    常用公共DNS服务器地址
  • 原文地址:https://www.cnblogs.com/liurenxingyu/p/4687787.html
Copyright © 2011-2022 走看看