第六章 对象-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)来 ...
随机推荐
- 使用百度云 BOS 和 C# SDK 开发数据存储
Ø 简介 本文主要介绍如何使用百度云的 C# SDK 操作 BOS(Baidu Object Storage/百度对象存储),以及常见问题和解决办法.本文将以以下几点展开学习: 1. 基本介绍 ...
- css 修改placeholder的颜色
input::-webkit-input-placeholder { color: #ff0000; } input::-moz-input-placeholder { color: #ff0000; ...
- Codeforces Round #552 (Div. 3) F. Shovels Shop(dp)
题目链接 大意:给你n个物品和m种优惠方式,让你买k种,问最少多少钱. 思路:考虑dpdpdp,dp[x]dp[x]dp[x]表示买xxx种物品的最少花费,然后遍历mmm种优惠方式就行转移就好了. # ...
- AtCoder Grand Contest 030题解
第一次套刷AtCoder 体验良好 传送门 Poisonous Cookies cout<<b+min(c,a+b+); Tree Burning 难度跨度有点大啊 可以证明当第一次转向之 ...
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据 ...
- twfont
module game { /** *Created by 渔歌烟火 on 2018/3/28. * 字体缓动动画 */ export class LabelEffect { private stat ...
- vue.js基础
1,感谢菜鸟教程 2,第一个实例 <html> <head> <meta charset="utf-8"> <title>Vue 测 ...
- scrollview 嵌套imageview显示长图
起初使用代码如下:但是图片显示不全,上半截被截 <ScrollView android:layout_width="match_parent" android:layout_ ...
- centOS6.5 mysql-community-server安装失败
卸载mysql,重新装 yum install mysql-server 图中没有放卸载的图 [root@cgrctenOS6 ~]# yum install mysql-community-serv ...
- Django学习(一)
Django 是python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站.(emmmm,百度百科).本学期需要做python数据的可视化,之前搞过两次SMM和SSH,但是之后ja ...