易截截图软件、单文件、免安装、纯绿色、仅160KB

进一步理解javascript对象、数组和哈希表


进一步理解javascript对象、数组和哈希表 



在javascript中,对象实际上就是一个哈希表,比如下面这个user对象:
function user(n, a)
{
this.name = n;
this.age = a;
this.toString = function() {
return 'Name:' + this.name + ', Age:' + this.age;
}
}
var u = new user('tom', 18);
for (var k in u) {
alert('key: ' + k + ', value:' + u[k]);
}
稍作改动,使用Array对象来代替对象:
var user = new Array();
user['name']='tom';
user['age']=18;
user['toString']=function(){
return 'Name:' + this.name + ', Age:' + this.age;
}
alert(user.toString());
更简单的写法:
var u = {
'name':'tom',
'age':18
}
u.toString = function(){return 'Name:' + this.name + ', Age:' + this.age;};
alert(u.toString());
由以上这些代码可以看出:
所有的javascript对象,包括Array对象在内实际上就是一个哈希表,属性名称就是哈希表的key,而属性的值就是哈希表的值。
Array对象与通常意义的数组对象并不相关,通常的数组仅能通过
下标来定位,而javascript中的Array却可以像哈希表一个通过key来定位集合中的对象。
可以将一个function直接作为值赋给对象的“哈希表”。
前端时间看了阮一峰的
《数据类型与Json格式》
一文,提到在yaml描述数据时,将所有的数据分成三种类型:
第一种类型是scalar(标量),一个单独的string或数字,比如“北京”这个单独的词。
第二种类型是sequence(序列),若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如“北京,东
京”。
第三种类型是map(映射),一个键/值对(Key/value),又称作hash(散列)或dictionary(字典),比如“首都:北
京”。
可能这三种类型我们都很熟悉,但文中提到的对json的四条规则却正好剖析了javascript描述数据的方式:
并列的数据之间用逗号(“,”)分隔。
映射用冒号(“:”)表示。
并列数据的集合(数组)用方括号('[]')表示。
映射的集合(对象)用大括号(“{}”)表示。

有了这四条规则(再加上对function的理解),对于很多看上去非常“诡异”的写法,都可以理解了。因此


相关文档:

离开画面时的JavaScript确认提示

window.onbeforeunload = function (evt) {
var message = 'Are you sure you want to leave?';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;

onbeforeunload 事件参考地址
http://msdn.microsoft.com/en-us/ ......

Javascript 刷新框架及页面的方法总集

先来看一个简单的例子:
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
Java代码
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ......

放一个javascript右键菜单的代码

注册很长时间号了,刚开通博客,拿出一个自己写的javascript右键菜单,兼容IE,firefox浏览器
这是css代码
 body{
font-size:12px;
}
.contextMenu{
filter:alpha(opacity=80);
opacity:0.8;
border:1px #0033FF solid;
background-color:#0099CC;
cursor:pointer;
width:120px;
position:absolute;
top: ......

介绍怎样解决JavaScript页面刷新与弹出窗口的问题。

 介绍怎样解决JavaScript页面刷新与弹出窗口的问题。
  1.无提示刷新网页
  大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
  而有的页面不会提示,不弹出提示窗口,直接就刷新了.
  如果页面没有form,则不会弹出提示窗口。如果页面有form表单,
  a)< fo ......

javascript中的srcelement

srcElement 是Dom事件中的事件最初指派到的元素。
比如有一个div,里面有一个按钮。你响应div的onclick事件,但实际上,你单击的只是它内部的按钮,那么,srcElement指向的,就是那个按钮。
srcElement只在IE中有效。
在Opera系列浏览器中对应的属性是target
给你一个IE下使用的例子。
<!DOCTYPE html PUBLIC "-//W ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号