第六章 对象-javaScript权威指南第六版(三)
6.3 删除内容
delete运算符可以删除对象的属性。
delete运算符只能删除自有属性,不能删除继承属性。
delete表达式删除成功或没有任何副作用时,它返回true.
6.4 检测属性
用in\hasOwnProperty\propertyIsEnumberable\!==
in 对于对象的自有属性或继承属性中包含有这个属性的返回true.
hasOwnProperty方法用来检测 给定的名字是否是对象的自有属性
propertyIsEnumerable()是hasOwnProperty增强版,只检测到是自有属性且这个属性的可枚举性为true.
还可以用in 和 !==判断属性,但对象的值不能为undefined
6.5 枚举属性
for ( p in o )
{
if (!o.hasOwnProperty(p)) continue;
}
for ( p in o )
{
if ( typeof o[p] === "function" ) continue;
}
例6-2
/*
把p中的可枚举属性复制到o中,并返回o
如果o和p中含有同名属性,则覆盖o中的属性
这个函数并不处理getter和setter以及复制属性
*/
function extend(o,p){
for(prop in p)
{
o[prop]=p[prop]
}
return o;
}
/*将p中的可枚举属性复制到o中,并返回o
如果o和p中有同名的属性,o中的属性将不受影响
这个函数并不处理getter和setter以及复制属性
*/
function merge(o,p)
{
for (prop in p ){
if (o.hasOwnProperty(prop)) continue; //这里的书里写错了
o[prop]=p[prop]
}
return o;
}
/*如果o中属性在p中没有同名属性,则从o中删除 这个属性返回o*/
function restrict(o,p){
for(prop in o){
if(!(prop in p)) delete o[prop];
}
return o;
}
/*如果o中属性在p中有同名属性,则从o中删除 这个属性返回o*/
function subtract(o,p)
{
for(prop in p)
{
delete o[prop];
}
}
/*返回一个新对象,这个对象同时拥有o的属性和p属性如果o和p中有名属性,使用p中的属性值*/
function union(o,p){
retrun extend(extend({},o),p);
}
/*返回一个新对象,这个对象拥有同时在o和p中出现的属性很像求o和p的交集,但p中属性的值 被忽略*/
function intersection(o,p){ return restrict(extend(extend({},o),p);}
/*返回一个数组,这个数组包含的是o中可枚举的自有属性的名字*/
function keys(o){
if ( typeof o !== "object" ) throw TypeError();
var result=[];
for ( var prop in o ){
if(o.hasOwnProperty(prop)) result.push(prop);
}
return result;
}
第六章 对象-javaScript权威指南第六版(三)的更多相关文章
- 第六章 对象-javaScript权威指南第六版
什么是对象? 对象是一种复合值,每一个属性都是都是一个名/值对.原型式继承是javaScript的核心特征. 对象常见的用法有,create\set\query\delete\test\enumera ...
- 第六章 对象-javaScript权威指南第六版(四)
6.6 属性getter和setter 对象属性是由名字.值和一组特性(attribute)构成的. getter和setter定义的属性称做"存取器属性"(accessor pr ...
- 第六章 对象-javaScript权威指南第六版(二)
通过原型 继承创建一个新对象,对于这一个函数的有说不出的感觉,看看语句都很简单,深层次的东西就是不知道 function inherit(p) { if(p == null) throw TypeE ...
- 《JavaScript权威指南 第六版 中文版》(一)
<JavaScript权威指南 第六版 中文版> 第二章 词法结构 2.1字符集 JavaScript是使用Unicode字符集编码写的. 2.1.1区分大小写 JavaScript是区分 ...
- 《JavaScript权威指南(第6版)(中文版)》PDF
简介自1996年以来,JavaScript的:权威指南已为JavaScript圣经程序员,程序员指南和全面的参考,以核心语言和客户端JavaScript API的Web浏览器定义.第6版包括HTML5 ...
- javascript权威指南第6版学习笔记
javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...
- JavaScript权威指南(第6版)(中文版)笔记
JavaScript权威指南(第6版)(中文版)笔记
- 【笔记】javascript权威指南-第六章-对象
对象 //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.28 对象的定义: 1.对象是一种复合值:将很多值(原始值或者对象)聚合在一起,可以通过名字访问这些值. ...
- Note | Javascript权威指南[第六版] 第1章:Javascript概述
JavaScript是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.JavaScript的语法源自Java,它的一等函数(first-class function)来 ...
随机推荐
- Jenkins实践之入门体验
官网:https://jenkins.io/ 持续集成,快速发布是DevOps实践的最好方式. 目录 准备工作 下载/安装/启动 基础配置 插件配置 构建第一个Java项目 部署项目 准备工作 在使用 ...
- Spring cloud gateway
==================================为什么需要API gateway?==================================企业后台微服务互联互通, 因为 ...
- element ui change 传递带自定义参数
@change="((val)=>{changeStatus(val, index)})" https://www.cnblogs.com/mmzuo-798/p/10438 ...
- iMX6Q开发板的EIM接口的配置可以与FPGA通讯-交换数据-最常用的接口配置
最近基于迅为的i.mx6Q开发板进行了一个FPGA项目的开发,下面给大家介绍一下EIM接口的配置,包括引脚的的选择和寄存器的配置 For the usage of WEIM on i.MX6, you ...
- IO流的操作规律。
1. 明确源和目的 源代表输入流: InputStream, Reader 目的代表输出流: OutputStream, Writer 2. 操作数据是否纯文本 纯文本:字符流 非纯文本: 字节流 ...
- java平台学习笔记
java程序从编写源码开始到程序执行一共有三个阶段,编写期,编译期,运行期. 通常,人们都希望自己的程序更快(不仅仅是执行更快,也有编写更快),因此java在不断更新. java源码先通过javac编 ...
- 安装版本( 相关关系 Vue SSR 指定版本)
1. 关于 brew mac包管理器 终端安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr ...
- DC综合简单总结(2)
DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前, ...
- 【转】web.xml中的contextConfigLocation在spring中的作用
一.spring中如何使用多个xml配置文件 1.在web.xml中定义contextConfigLocation参数,Spring会使用这个参数去加载所有逗号分隔的xml文件,如果没有这个参数,sp ...
- git(windows)
windows下比较比较好用的git客户端: 1. msysgit + TortoiseGit(乌龟git) 2. GitHub for Windows 3. Git Extensions