`

{}、:、[]、.的用法、动态给对象添加和删除属性、遍历对象的属性

阅读更多

/*
 //:冒号的用法表示类的属性或者方法(与c#比较)
 //{}新建对象
 //var aa={a:{b}};//表示新建对象,并且设置对象的属性的值
 //var aa={a:1};
 //alert(aa.a);
 alert(_.get({a:{b:{c:1}}},['a','b','c']));
 */
   
 
 /*
 //测试hash
 //.has['a']['b']==>has.a.b
 var has={a:{b:function(){alert('aaa');}},c:'ccc'};
 var arr=['a','b'];
 alert(typeof has['a']['b']);
 alert(typeof has.a.b]);
 */

 

//动态给对象添加和删除属性、遍历对象的属性

if(_t in target)
        {
            return
        }
        else
        {
            try
            {
                target[_t] = 1;//给类添加属性
            }
            catch(e)
            {
                return
            }
        }
        p = (p = target.constructor) ? p.prototype : _o;
        for(i in target)//取出每一个对象的属性的名称,如果要取出属性的值则target[i]
        {
            if(i != _t)
            {
                if(l < n &&
      target[i] &&
      (typeof target[i] == "object" || typeof target[i] == "function"))
    {
                    self(target[i],n,l)
                }
                if( ! (p && p[i]) &&
      i != "prototype" &&
      i != "constructor")
    {
                    try
                    {
                        delete target[i]
                    }
                    catch(e){}
                }
            }
        }

 

//举例:
 a=
 {
  b:"b",
  a:function()
  {
   alert('a');
  },
  c:{}
 }
  
 var p="___1_";
 if(!(p in a))
 {
  a[p]="pppp";
 }
 
 if('b' in a)
 {
  //a[p]="pppp";  
  delete a[b];
 }
 
 for(i in a)
 {  
  alert('key='+i+'\r\nvalue='+a[i]+'\r\ntype='+typeof(a[i])+'\r\nconstructor='+a[i].constructor);   
 }

分享到:
评论

相关推荐

    [Visual.Basic.2010.入门经典(第6版)].Thearon.Willi等.扫描版(1/2)

    3.6.1 使用方法的原因 ..................... 59 3.6.2 前面曾介绍过的方法 ............. 59 3.6.3 创建方法 ................................ 62 3.6.4 选择方法名称 ........................ 65 ...

    JavaScript高级教程

    第 1 章 JavaScript 是什么...............................................1 3 1.1 历史简述.........................3.5.5 动态原型方法..............................................82 3.5.6 混合工厂方式........

    107个常用javascript语句

    动态绑定方法$('JournalList1').attachEvent("onchange", onchangList); 0.数组赋值给下拉菜单state_select.options.length = state_select_num ; for( i=1 ; i; i++ ) { state_select.options[i].value = state...

    《javaScrip开发技术大全》源代码

    • sample12.htm 遍历对象属性和方法时进行判断 • sample13.htm 遍历对象属性值 • sample14.htm 索引对象属性 • sample15.htm 添加对象属性 • sample16.htm 删除对象...

    ZendFramework中文文档

    14.1.3. 使用静态 get() 方法 14.2. 标准过滤器类 14.2.1. Alnum 14.2.2. Alpha 14.2.3. BaseName 14.2.4. Digits 14.2.5. Dir 14.2.6. HtmlEntities 14.2.7. Int 14.2.8. RealPath 14.2.9. StringToLower...

    flex3的cookbook书籍完整版dpf(包含目录)

    16.8.节使用ActionScript动态添加和去除图表中的列 16.9.节重叠多个图表 16.10.节拖曳图表中的项目 16.11.节创建一个可以编辑线状图 第十七章. 共享对象(557) 17.1节. 创建一个共享对象 17.2节. 写入数据到共享...

    JavaScript笔记

    |--undefined:表示声明了变量但从未赋值或者对象属性不存在 10.双等号(==)和全等号(===): |--“==”为确定两个运算数是否相等,“==”运算符会进行类型转换。转换后运算数相等就返回true,否则返回false |...

    面向对象的方法实现贪吃蛇

    8. 只有在原型对象中的方法和属性,外界是可以调用的。 9. 蛇的移动(动画)必然需要定时器协助。定时器的时间,即象征着刷新速度,也就是难度。 10. this所在的函数在哪一个对象中,this就指向谁。单独写一个函数...

    JAVA_API1.6文档(中文)

    javax.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务中的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 ...

    VBA常用技巧

    技巧20工作表事件Target参数的使用方法60 20-1使用单元格的Address 属性60 20-2使用Column属性和Row属性61 20-3使用Intersect方法61 第2章Worksheet(工作表)对象63 技巧21引用工作表的方式63 21-1使用工作表的名称...

    JavaScript王者归来part.1 总数2

     7.2.2 为对象添加和删除属性   7.2.3 反射机制--枚举对象属性   7.3 对象的构造   7.3.1 构造函数--一个双精度浮点数封装类的例子   7.3.2 缺省构造和拷贝构造   7.3.3 对象常量   7.4 对象的销毁和...

    JavaScript详解(第2版)

     8.5.3 使用原型为对象添加方法   8.5.4 所有对象都有的属性和方法   8.5.5 创建子类及继承   8.6 应知应会   练习   第9章 JavaScript核心对象   9.1 什么是核心对象   9.2 数组对象   ...

    [Java参考文档].JDK_API 1.6

    javax.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务中的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 ...

    jquery插件使用方法大全

    许多较少使用的方法被合并,减少了需要掌握和解释的方法数量。 jQuery 1.1.3(2007年7月):这次小版本变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools...

    java api最新7.0

    javax.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务中的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 ...

    实验2 类和继承(4学时)

    掌握Java中package的概念和使用方法; 掌握静态方法的定义和使用方法; 掌握Object类中equals方法和toString方法的覆盖方法。 二、实验内容 1、设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、...

    ECMAScript 2018快速入门 高清完整PDF

    本书分为13章,较为系统地介绍ECMAScript语言,内容包括变量与常量、表达式和运算符、字符串、数字和符号、数组和类型化数组、对象、函数、集合和映射、迭代器和生成器、Promise对象与异步函数、代理、类和模块,...

    [Java参考文档]

    javax.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务中的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 ...

Global site tag (gtag.js) - Google Analytics