JavaScript面向对象--记录防忘记(一)
1、理解对象:
创建自定义对象最简单的方式就是创建一个object实例,再给他添加属性和方法。
let person = new Object();
person.name = 'zhangsan';
person.age = 25;
person.sayName = function (){alert(this.name)};
//=============================
以上实例现在可以这样写:
let person = {
name:'zhangsan',
age:25
sayName:function(){
alert(this.name);
}
}
2、属性类型
数据属性,访问器属性
Value:这个属性的属性值
let person = {};
Object.defineProperty(person,"name",{
value:"ZhangSan"
});
let person = {};
Object.defineProperty(person,"age",{
value:25
});
Configurbale:表示是否能通过Delete删除属性并重定义,能否修改属性的特性,这个属性的默认值是true;
let person = {};
Object.defineProperty(person,"name",{
configurable:true,
value:"ZhangSan"
});
Object.defineProperty(person,"age",{
configurable:false,
value:25
});
delete person.name;
delete person.age;
alert(person.name);//输出 undefined
alert(person.age);//输出 25 Object.defineProperty(person,"age",{
configurable:true,//抛出错误,configurable为false后无法重定义;
value:25
});
Enumable:为false的时候无法for-in循环返回属性,当使用new Object创建实例的时候默认是false,直接定义为true;
Writable:是否可以修改属性的值,默认是true;
let person = {};
Object.defineProperty(person,"name",{
writable:true,
value:"ZhangSan"
});
Object.defineProperty(person,"age",{
writable:false,
value:25
});
person.name = 'lisi';
person.age = 33;
alert(person.name);//输出 lisi
alert(person.age);//输出 25
访问器属性不包含数值,它们包含一对getter和setter函数;
Get:Set:默认值都是undefined
let book = {
edition: 1
};
Object.defineProperty(book, "_year", {
get: function () {
return this.year;
},
set: function (newValue) {
if (newValue > 2004) {
this.year = newValue;
this.edition += newValue - 2004;
console.log(newValue);
}
}
});
book.year = 2005;
alert(book.year);// 输出2005
alert(book.edition);// 输出2
在不支持Object.defineProperty()方法的浏览器中不能修改[Configurable],和[Enumerable]。
3、定义多个属性
let book = {};
Object.defienProperties(book,{
year:{
writable:true,
value:2004
}
edition:{
writable:true,
value:1
}
});
4、读取属性的特性
==
JavaScript面向对象--记录防忘记(一)的更多相关文章
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- javascript面向对象系列第一篇——构造函数和原型对象
× 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...
- Javascript知识点记录(三)设计模式
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...
- 【转】javascript面向对象编程
摘要:本文本来是想自己写的,奈何花了好长时间写好之后忘记保存,还按了刷新键,一键回到解放前,索性不写了,所以本文是转载的. 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化. ...
- 再谈javascript面向对象编程
前言:虽有陈皓<Javascript 面向对象编程>珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力.另外这篇文章是一篇入门文章,我也是才开始 ...
- 《JavaScript面向对象编程指南》读书笔记②
概述 <JavaScript面向对象编程指南>读书笔记① 这里只记录一下我看JavaScript面向对象编程指南记录下的一些东西.那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的 ...
- 《JavaScript面向对象编程指南》读书笔记①
概述 JavaScript快忘完了,想看一本专业书拾遗,所以看了这本<JavaScript面向对象编程指南>. 个人觉得这本书讲的很透彻很易懂,一些原来有疑惑的地方在这本书里面豁然开朗,看 ...
- 闭包初体验 -《JavaScript面向对象编程指南》
下面是我对闭包的理解:(把他们整理出来,整理的过程也是在梳理) 参考<JavaScript面向对象编程指南> 1.首先,在理解闭包之前: 我们首先应该清楚下作用域和作用域链 作用域:每个函 ...
- JavaScript面向对象小抄集
前言 本文旨在记录JavaScript中面向对象的基础知识 搞明白JavaScript中的面向对象 一切都是对象 JavaScript中,除了基本类型外,其它类型都是对象类型 所谓对象就是若干属性的集 ...
随机推荐
- python爬虫之初始scrapy
简介: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设 ...
- java学习之—链表(1)
/** * 单链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ public class Link { public int ...
- python之路--初识面向对象
一 . 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大 ...
- WPF Path总结(一)
首先来看看Path的定义,参考MSDN:绘制一系列相互连接的直线和曲线.介绍比较简单,我们再来看看备注中有些什么,Path 对象可以绘制封闭式还是开放式形状. 多个形状和甚至曲线的形状.与不 Line ...
- DNS_PROBE_FINISHED_NXDOMAIN & MacOS
DNS_PROBE_FINISHED_NXDOMAIN 内网 DNS bug 8.8.8.8 8.8.4.4 # new inner Wi-Fi 10.1.3.10 10.1.3.13 Windows ...
- DAY01、计算机组成及操作系统
一.编程与编程的目的: 1.什么是语言?什么是编程语言? 语言是一事物与另一事物之间沟通的介质 编程语言就是程序员与计算机之间沟通的介质 2.什么是编程? 程序员把自己想要让计算机做的事用编程语言表达 ...
- JQ获取URL中是否含有某个字符的话,对页面进行某种操作
一.//JQ获取URL中是否含有某个字符的话,对页面进行某种操作 例:如果URL中含有xia的字符,就在页面引入一个cssvar str=window.location.href; //获取地址栏UR ...
- 莫烦keras学习自修第三天【回归问题】
1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ import numpy as np # 这句话不知道是什么意思 np.random.seed ...
- vue事件綁定
事件綁定可以是一個句子,一個函數名稱,也可以是一個函數. 事件修飾符,按鍵修飾符.
- oracle数据库备份和恢复
参考地址:https://www.cnblogs.com/1175429393wljblog/p/9529334.html Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而 ...