文档章节

JavaScript 学习笔记 二 对象的访问

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:53
字数 510
阅读 3
收藏 0
var array = ["one","two","three"];//数组
var obj = {//对象
    field : "self",
    printInfo : function (){
        alert(this.field);
    },
    outter:{
        inne : "inner text",
        printInnerText:function(){
            alert(this.inne);
        }
    }//点运算符的左边为一个对象(属性的集合),右边为属性名,应该注意的是右边的值除了作为
     //左边的对象的属性外,同时还可能是它自己的右边的值的对象:
};//分号
var obj2 = {
    "self.ref" : obj//一个好的解决方法是使用中括号([])运算符来访问:
};
obj.printInfo();
obj.outter.printInnerText();
obj2["self.ref"].outter.printInnerText();

for(var key in obj2){
    alert(key+":"+obj2[key]);//建议在不知道对象的内部结构的时候(比如要遍历对象来获取某个属性的值),
                             //一定要使用中括号操作符,这样可以避免一些意想不到的 bug。
}

//JavaScript 对象的本身就是一个字典(dictionary),或者 Java 语言中的 Map,或者
//称为关联数组,即通过键来关联一个对象,这个对象本身又可以是一个对象,根据此定义,
//我们可以知道 JavaScript 对象可以表示任意复杂的数据结构。

//属性是由键值对组成的,即属性的名字和属性的值。
var jack = new Object();
jack.name = "jack";
jack.age = 26;
jack.birthday = new Date(1984,4,5);

var address = new Object();
address.street = "Huang Quan Road";
address.xno = "135";

//将addr属性赋值为对象address
jack.addr = address;

var ja = jack[addr];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
                    //通过[属性名]这种形式则总是可以保证正确性的。
alert(ja.xno);


1 楼 307622798 44 分钟前   引用 删除
博主你好,最近在看你的js系列文章,发现这篇文章运行有异常。var ja = jack[addr];这句话说addr is not defined 。请博主指教!
经测试,确实如其所说,谢谢指出 共同学习了

var ja = jack["addr"];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
                    //通过[属性名]这种形式则总是可以保证正确性的。

本文转载自:http://blog.csdn.net/sblig/article/details/24669991

东湖畔新家
粉丝 1
博文 170
码字总数 31582
作品 0
杭州
后端工程师
私信 提问
第一章--JavaScript简介

1. JavaScript的构成 1.1. ECMAScript ECMAScript规定了核心语言的组成部分分别为:语法、类型、语句、关键字、保留字、操作符、对象。 宿主环境:Web浏览器、Node、Adobe Flash。 1.2. DOM...

lovewt
2018/06/05
0
0
JavaScript学习笔记(二)

JavaScript的数据类型分为:原始类型和对象类型。JavaScript中有两个特殊的原始值:null(空)和undefined(未定义)。 JavaScript中所有数字均用浮点数值表示。javaScript采用64位浮点格式表示数...

第五郎
2014/03/29
0
0
day03_js学习笔记_02_js的内建对象、js的函数

day03js学习笔记02_js的内建对象、js的函数 ========================================================================================================================================......

黑泽明军
2018/04/19
0
0
javascript学习笔记(一)

前端开发有一个叫渐进增强开发模型,有三个层次,分别是结构层(html),表现层(css),行为层(javascript)。该模型强调三个层次的分隔,可以直观地表现为html、css、js各自作为文件存放。这样做...

glowry
2014/07/08
0
0
《高性能javascript》 笔记

第一部分:关于script 当把js脚本通过script标签放在head中的时候,早期浏览器在遇到script的时候会阻止浏览器加载和渲染html。知道javascript脚本被下载并执行完,且这些javascript是依次下载和...

modernizr
2014/04/03
467
1

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
1
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
2
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部