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"];//我们在开发通用的工具包时,应该对用户可能的输入不做任何假设,
//通过[属性名]这种形式则总是可以保证正确性的。
分享到:
相关推荐
JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cookie数据)。 Cookie文件由所访问的Web站点建立,以长久的保存客户端与Web站点间的会话数据,...
二、JavaScript的程序控制结构和对象 2 1、for循环语句: 2 2、while循环: 2 3、do-while循环: 2 4、JavaScript函数: 2 5、在JavaScript中基于对象的编程: 3 6、内置的JavaScript对象: 3 7、处理对象的内置方法...
DOM是针对XML的基于树的API,它关注的不仅仅是解析XML代码,而是用一系列相互关联的对象来表示这些代码,而这些对象可以被修改,而且无需重新解析代码就能直接访问它们。由于DOM的使用上的简便,因此它成为了Web...
JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。JavaScript 函数中 arguments 为特殊对象,无需明确指出参数名,就能访问它们。
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...
javascript从入门到跑路—–小文的js学习笔记(1)———script、alert、document。write() 和 console.log 标签 … … javascript从入门到跑路—–小文的js学习笔记目录 ** 一、BOM(Browers,Object,model)...
HTML&JavaScript学习笔记.....................198 HTML: 超文本标记语言.......................198 1、html简介...........198 2、动态网页开发技术......................199 3、html的基本构成....................
[2]DOM文档对象模型,提供访问和操作网页内容的方法的接口 [3]BOM浏览器对象模型,提供与浏览器交互的方法的接口 二、引入 引入javascript有两种办法:在页面内嵌入js代码和引入外部文件 [1]页面内嵌入 ...
最近为了补js的基础,开坑javascript高程,这书基础部分写得很详细很好读,搭配着MDN进行学习理解。 闲下来的时间记录一下边读边做的笔记,大多是以前编程的时候没注意过的基础知识点。 第一章 JavaScript的完整实现...
这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻。 全局对象初始创建阶段将 Math、String、Date、parseInt 作为自身属性,等属性初始化,同样也可以有额外创建的...
私有变量和函数 在函数内部定义的变量和函数,如果不对外提供接口,外部是无法访问到的,也就是该函数...这样在函数对象Test外部无法访问变量color和fn,他们就变成私有的了: 代码如下: var obj = new Test(); ale
-(4) JavaScript面向对象的支持--(5) JavaScript面向对象的支持--(6) JavaScript精简学习1:基础知识 JavaScript精简学习2:浏览器输出 JavaScript精简学习3:图像 JavaScript精简学习4:表单 ...
以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识,也有一些面试知识的拓展,通过博客回顾并加深理解,希望我的学习过程对你有所帮助。 第四章 基本类型和引用类型 在ECMAScript中有两种不同数据类型...
我不想也不会从语义学上去区分,对于这系列文章来说,属性就是组成对象的一个部分,广义上也包括对象的方法,而特性则是指被描述主体所具有的特征,换句话说,属性是我们可以通过编码来访问的具体存在,而特性则主要...
1.实例成员只能通过实例化的对象来访问。 2.静态成员只能通过构造函数来实现。 3.构造函数方法很好用,但是存在浪费内存的问题(每一次实例化对象都会开辟不同的内存空间来存放数据,甚至类方法一模一样)。 构造...
第6章,面向对象的程序设计 对象: 1、数据属性 configurable,表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为true enumerbale,表示能否通过for-in...
单体模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一变量进行访问。 单体模式的优点是: 可以用来划分命名空间,减少全局变量的数量。 使用单体模式可以使代码组织的更为一致,...
{2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {2.10.3}静态代码块}{62}{subsection.2.10.3} {2.11}\ttfamily final}{63}{section....
XPAGE学习笔记 1 Theme 2 2 在Xpage中使用Dojo 2 2.1 加载dojo.js 2 2.2 设置应用程序主题引入tundra.css 2 2.3 设置xpage属性引入dojo模块 3 2.4 Xpage的页面html代码 4 2.5 在xpage中使用dojo编程 4 2.5.1 按钮...