第六章 对象-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;    

}

原文地址:https://www.cnblogs.com/pbenz/p/10447112.html

时间: 2024-10-20 02:18:04

第六章 对象-javaScript权威指南第六版(三)的相关文章

《JavaScript权威指南(第6版)(中文版)》PDF

简介自1996年以来,JavaScript的:权威指南已为JavaScript圣经程序员,程序员指南和全面的参考,以核心语言和客户端JavaScript API的Web浏览器定义.第6版包括HTML5和ECMAScript 5,与jQuery和服务器端JavaScript新的篇章.这是推荐谁想要学习的Web编程语言经验的程序员,以及当前的JavaScript程序员谁想要掌握它. 封面   目录<javascript权威指南(第6版)> 前言 1 第1章 javascript概述 5 1.1 j

javascript权威指南第6版学习笔记

javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console.log(x==y);console.log(x==.1);console.log(y==.1); 控制台输出结果: 3.1.5 var now = new Date();console.log(now); 3.2 文本 Javascript没有字符型,只有字符串. 16位怎么理解 3.10 变量作

JavaScript权威指南(第6版)(中文版)笔记

? JavaScript权威指南(第6版)(中文版)笔记 ? ? ?

javascript权威指南第六章,关于对象

之前一直对对象这东西搞不懂,最开始接触js,有些概念都不理解,买了两本书,有人推荐用高级程序设计做教材,还买了一本权威指南,花了几天时间,很快的把高级程序设计翻了一下,很多东西不知所云,第一遍也只想大概了解一下有哪些东西了,快速翻完后,决定开始看权威指南,从最基础的看起,先大概理解概念,也算两本书结合着看, 这次看呢,知道的东西比之前多了一些,虽然说,知识理解了,书上的例子能看懂,但自己还是写不出来,但是呢,继续加油,大学三年完了,感觉现在才真正想要好好学习,现在快一个月了,知道了一点皮毛,刚看

JS 语言核心(JavaScript权威指南第六版)(阅读笔记)

前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思想需要细心和大量实践才能慢慢参悟,在这之前需要做的是能够运用它来开发,那么了解一些基础特性非常有必要,通常这些特性是需要经验积累,从各种坑中累计出来,但是还有一种看似很笨却很有效的学习方法.那就是将别人的经验记录下来,有事没事都拿出来看看,集合开发中的经验,这会非常有效. 调试工具 firebug

《JavaScript权威指南(第六版)》.(美)David.Flanagan.中文扫描版.pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是程序员学习核心JavaScript语言和由Web浏览器定义的javascript API的指南和综合参考手册. 第6版涵盖HTML 5和ECMAScript 5.很多章节完全重写,以便与时俱进,紧跟当今的最佳Web开发实践.本书新增章节描述了jQuery和服务器端JavaScript. 本书适合那些希望学习Web编程语言的初.中级程序员和希望精通JavaScript的JavaScript程序员阅读. 作者简介  · · · · · ·

javascript权威指南第六版学习

第二章 语法结构 2.1 字符集 什么是字符集?各种字符集什么关系?unicode,utf-8是什么关系? 字符(Character)是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.字符集(Characterset)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集.GB2312字符集.BIG5字符集.GB18030字符集.Unicode字符集等.http://baike.sogou.com/v291629.htm 各种字符集的出

JavaScript权威指南(第6版)(中文版)pdf

下载地址:网盘下载 内容简介 编辑 第5版针对Ajax和Web 2.0技术进行了全新的改版.和上一版相比,更新的内容较多,总体上接近整个篇幅的1/2,而这也正是本书姗姗来迟的原因之一.具体来说,第5版在以下部分有所更新: 第一部分关于函数的一章(第8章)进行了扩展,特别强调了嵌套的函数和闭包.新增了自定义类.名字空间.脚本化Java.嵌入JavaScript等内容. 第二部分最大的改变是增加了如下的大量新内容.包括第19章"cookie和客户端持久性",第20章"脚本化HTT

Note | javascript权威指南[第六版] 第2章:词法结构

语法结构规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分隔等规则.本章用很短的篇幅来介绍JavaScript的词法结构. 2.1.字符集 JavaScript程序是用Unicode字符集编写的.Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有在用的语言. 2.1.1.区分大小写   JavaScript是区分大小写的语言.也就是说,关键字.变量.函数名和所有的标识符(identifier)都必须采取一致的大小写形式.但需要注意的是,HTML并不区分大小写(尽管