一   对象属性

  a.对象定义:

    无序属性的集合,其属性可以包含基本值、对象或者函数;

  b.两种创建方式:

    1.构造函数;

 var person = new Object();
person.name = "Winston";
person.age = 32;
person.job = "Software Engineer"; person.sayName = function(){
console.log(this.name);
}

    2.对象字面量;

 var person = {
name:"Winston",
age:32,
job:"Software Engineer", sayName:function(){
console.log(this.name);
}
}

  c.属性类型

    1.数据属性,用Object.defineProperty修改

      [[Configurable]]    能否修改属性特性、能否通过delete删除属性从而重新定义属性、能否把属性修改为访问器属性;

      [[Enumerable]]      能否通过for-in循环返回属性,默认为false

      [[Wirtable]]            能否修改属性的值,默认为false

      [[Value]]                 属性值

    2.访问器属性,用Object.defineProperty定义

      [[Configurable]]    能否修改属性特性、能否通过delete删除属性从而重新定义属性、能否把属性修改为访问器属性;

      [[Enumerable]]      能否通过for-in循环返回属性,默认为false

      [[Get]]           读取属性时调用的函数,默认为undefined

      [[Set]]           写入属性时调用的函数,默认为undefined

《JAVASCRIPT 高级程序设计》读书笔记六 面向对象的程序设计的更多相关文章

  1. 《JavaScript高级程序设计》笔记:面向对象的程序设计(六)

    面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. 理解对象 创建自定义对象的最简单的方法就是创建一个Object的实例,然后再为它添加属性和方法.例 ...

  2. Javascript高级程序设计--读书笔记之面向对象(二)

    前面讲了面向对象的封装,这章我们就来说一说继承 1.原型链 实现原型链有一种基本模式,其代码大概如下 <script> function SuperType(){ this.propert ...

  3. Javascript高级程序设计--读书笔记之面向对象(一)

    哈哈哈万物皆对象,终于到了js的面向对象篇. 一.属性类型 (1)数据属性 数据属性包含一个数据值的位置,在这个位置可以写入和读取数值,数据属性有四个描述器行为的特性 [[Configurable]] ...

  4. javascript 高级程序设计学习笔记(面向对象的程序设计) 1

    Object构造函数或对象字面量都可以用来创建对象,但这些方式有个明显的缺点:使用相同一个接口创建很多对象,会产生大量重复代码. 工厂模式 //工厂模式 function createDog (nam ...

  5. javascript 高级程序设计学习笔记(面向对象的程序设计)继承

    ECMAScript中描述了原型链的概念,原型链是实现继承的主要方法. 实现原型链继承有一种基本模式 function SuperType () { this.property = true; } S ...

  6. javascript 高级程序设计学习笔记(面向对象的程序设计) 2

    在调用构造函数时会为实例添加一个指向最初原型的指针,我们可以随时为原型添加属性和方法,并且能在实例中体现出来,但如果是重新了原型对象,那就会切断构造函数与最初原型的联系. function Dog ( ...

  7. 精读《javascript高级程序设计》笔记三——面向对象的程序设计

    重点来了,我认为这一章值得好好地反复地看.看第一遍 还是懵懵懂懂,现在看第二遍,终于能看出点意思了. 创建对象 工厂模式 function createPerson(name, age, job){ ...

  8. Node.js高级编程读书笔记Outline

    Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...

  9. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

随机推荐

  1. Java I/O - 对象的输入输出与序列化

    先说概念: 一.相关概念 序列化是Java提供的一种将对象写入到输出流.并在之后将其读回的机制. 序列化:把内存中的java对象转换成与平台无关的二进制字节序列,以便永久保存在磁盘上或通过网络进行传输 ...

  2. C#窗体-猜数字

    1.用到的控件:groupbox.label.textbox.button.menustrip等 2.实现的功能,随机产生一个数字,输入自己猜的答案,判断是否猜对. 3.运行结果 4.代码 using ...

  3. TZOJ 2289 Help Bob(状压DP)

    描述 Bob loves Pizza but is always out of money. One day he reads in the newspapers that his favorite ...

  4. Program Hyundai i20 Smart Key with VVDI & Xtool X100 Pad2

    How-to: generate and program Hyundai i20 smart key with VVDI Mini Key Tool and XTOOL X100 PAD2. Step ...

  5. MySQL 导入导出数据

    导入数据 1. 使用 MySQl Workbench 界面操作 导入 csv JSON 格式文件 2 使用 load data 命令 load data 命令官网教程 https://dev.mysq ...

  6. 认识JavaScript Promise

    参考: EC前端 - Promise - http://www.ecmaer.com/javascript/nativeObj/promise.html 关于Promise: 什么是 Promise? ...

  7. C#下载Url文件到本地

    protected void Page_Load(object sender, EventArgs e) { string filePath = Request.Params["FilePa ...

  8. DWR使用总结

      这两天学了下DWR,现在总结一下. DWR是方便使用AJAX连接JS和JAVA的的一个框架,把服务器端 Java 对象的方法公开给 JavaScript 代码. 如果是用dwr2.0的jar包,还 ...

  9. ACM(图论)——tarjan算法详解

    ---恢复内容开始--- tarjan算法介绍: 一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法.通过变形,其亦可以求解无向图问题 桥: 割点: 连通分量: 适用问题: 求 ...

  10. java32

    1.抽象类必须有子类才有意义 2.子类中会默认有构造器来调用父类的构造器 3.接口:表示一种规范 interface 接口名(命名规则:在名称前加上I后加上able){ } -2接口也生成对应的字节码 ...