《JAVASCRIPT 高级程序设计》读书笔记六 面向对象的程序设计
一 对象属性
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 高级程序设计》读书笔记六 面向对象的程序设计的更多相关文章
- 《JavaScript高级程序设计》笔记:面向对象的程序设计(六)
面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. 理解对象 创建自定义对象的最简单的方法就是创建一个Object的实例,然后再为它添加属性和方法.例 ...
- Javascript高级程序设计--读书笔记之面向对象(二)
前面讲了面向对象的封装,这章我们就来说一说继承 1.原型链 实现原型链有一种基本模式,其代码大概如下 <script> function SuperType(){ this.propert ...
- Javascript高级程序设计--读书笔记之面向对象(一)
哈哈哈万物皆对象,终于到了js的面向对象篇. 一.属性类型 (1)数据属性 数据属性包含一个数据值的位置,在这个位置可以写入和读取数值,数据属性有四个描述器行为的特性 [[Configurable]] ...
- javascript 高级程序设计学习笔记(面向对象的程序设计) 1
Object构造函数或对象字面量都可以用来创建对象,但这些方式有个明显的缺点:使用相同一个接口创建很多对象,会产生大量重复代码. 工厂模式 //工厂模式 function createDog (nam ...
- javascript 高级程序设计学习笔记(面向对象的程序设计)继承
ECMAScript中描述了原型链的概念,原型链是实现继承的主要方法. 实现原型链继承有一种基本模式 function SuperType () { this.property = true; } S ...
- javascript 高级程序设计学习笔记(面向对象的程序设计) 2
在调用构造函数时会为实例添加一个指向最初原型的指针,我们可以随时为原型添加属性和方法,并且能在实例中体现出来,但如果是重新了原型对象,那就会切断构造函数与最初原型的联系. function Dog ( ...
- 精读《javascript高级程序设计》笔记三——面向对象的程序设计
重点来了,我认为这一章值得好好地反复地看.看第一遍 还是懵懵懂懂,现在看第二遍,终于能看出点意思了. 创建对象 工厂模式 function createPerson(name, age, job){ ...
- Node.js高级编程读书笔记Outline
Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...
- python高级编程读书笔记(一)
python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...
随机推荐
- sql yog出现2013错误
首先用telnet检查一下你的防火墙端口,如果连接失败,配置防火墙. 配置防火墙,开启3306端口 find -name iptables vim /etc/sysconfig/iptables -A ...
- VS2015自定义工具栏,往工具栏上添加按钮
工具--自定义--命令
- 浅谈spring为什么推荐使用构造器注入
转载自: https://www.cnblogs.com/joemsu/p/7688307.html 一.前言 Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversi ...
- 两个Integer比较
两个Integer类型比较不能使用==,要使用equals, == 在-127~128是可以用的,超出这个范围就不行 public static void main(String[] args) ...
- jmeter的各种调用
1. 开发将dubbo协议的接口转化成了webservices后,jmeter直接添加http请求,输入网址就好,但是这种需要增加开发测试页面的工作量 2.jmeter自身无法调用zk连接服务器(Jm ...
- scrapy项目对接Docker
1.项目根目录生成requirements.txt文件 命令pip freeze > requirements.txt 2.项目根目录新建Dockerfile文件,文件不加任何后缀名 内容如下 ...
- break 和continue在循环中起到的作用
break语句的作用是终止当前循环,跳出循环体.主意,break只能跳出一层循环. continue语句的作用是终止本轮循环并开始下一轮循环,(这里要主意的是在开始下一轮循环之前,会先测试循环条件). ...
- 面试简单整理之IO
1.字节流,字符流 整个Java IO体系都是基于字节流(InputStream/OutputStream) 和 字符流(Reader/Writer)作为基类,根据不同的数据载体或功能派生出来的. 2 ...
- 2-1 如何抓不同的接口(手机抓包,web网页抓包)
举个例子,一个测试和安卓的对话. 测试:Android你这里有个bug Android:这是服务端的bug 测试:是你这里显示的不对 Android:你去看服务端返回数据,他不对,你会不会测试. 从这 ...
- mysql 主从库同步
#主库修改my.ini [mysqld] server log-bin=mysql-bin binlog-do-db=demo #从库修改my.ini [mysqld] server replicat ...