JavaScript内核系列 第5章 数组
第五章 数组 JavaScript的数组也是一个比较有意思的主题,虽然名为数组(Array),但是根据数组对象上的方法来看,更像是将很多东西混在在一起的结果。而传统的程序设计语言如C/Java中,数组内的元素需要具有相同的数据类型,而作为弱类型的JavaScript,则没有这个限制,事实上,JavaScript的同一个数组中,可以有各种完全不同类型的元素。 方法 描述 concat() 连接两个或更多的数组,并返回结果。 join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 pop() 删除并返回数组的最后一个元素。 push() 向数组的末尾添加一个或更多元素,并返回新的长度。 reverse() 颠倒数组中元素的顺序。 shift() 删除并返回数组的第一个元素。 slice() 从某个已有的数组返回选定的元素。 sort() 对数组的元素进行排序。 splice() 删除元素,并向数组添加新元素。 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 valueOf() 返回数组对象的原始值。 可以看出,JavaScript的数组对象比较复杂,包含有pop,push等类似与栈的操作,又有slice, reverse,sort这样类似与列表的操作。或许正因为如此,JavaScript中的数组的功能非常强大。 5.1数组的特性 数组包括一些属性和方法,其最常用的属性则为length,length表示数组的当前长度,与其他语言不同的是,这个变量并非只读属性,比如: Js代码 1.var array = new Array(1, 2, 3, 4, 5); 2.print(array.length); 3.array.length = 3; 4.print(array.length); 5. var array = new Array(1, 2, 3, 4, 5); print(array.length); array.length = 3; print(array.length); 运行结果为: 5 3 1,2,3 注意到最后的print语句的结果是”1,2,3”,原因是对length属性的修改会使得数组后边的元素变得不可用(如果修改后的length比数组实际的长度小的话),所以可以通过设置length属性来将数组元素裁减。 另一个与其他语言的数组不同的是,字符串也可以作为数组的下标(事实上,在JavaScript的数组中,数字下标最终会被解释器转化为字符串,也就是说,所谓的数字下标只不过是看着像数字而实际上是字符的属性名),比如: Js代码 1.var stack = new Array(); 2. 3.stack['first'] = 3.1415926; 4.stack['second'] = "okay then."; 5.stack['third'] = new Date(); 6. 7.for(var item in stack){ 8. print(typeof stack[item]); 9.} var stack = new Array(); stack['first'] = 3.1415926; stack['sec
相关文档:
<script>
///用户数据结构
function _tagUser()
{
this.UserId = 0; //0-4
this.UserName = ""; //5-
this.Parse = function(VarTypeUser)
{
for (var i=0;i<VarTypeUser.length;i++)
VarTypeUser[i] = String.fro ......
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。
简略语句
JavaScript 可以使用简略语句快速创建对象和数 ......
那些相见恨晚的 JavaScript 技巧
ugmbbc发布于 2010-04-24 10:15:58|10771 次阅读 字体:大 小 打印预览
感谢锐商企业CMS的投递
新闻来源:Smashing Magazine
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功, ......
缓存系统我以前在博客写过了,此后我对javascript的哲学发生很大的改变。以前是尽量避免对原型进行扩展的,但反过来一想,有什么关系?除非是傻子或特别菜的人才会混用多个库,能混用库的人也只有高手才能避免命名冲突的尴尬。十大类库中,前面几个都是对原型进行疯狂扩展的。像mootools,代码不多,但能实在比jQuery多许多 ......
function EnhancedImage(src,onLoaded){
var self = this;
this.src = src;
this.width = 0;
this.height = 0;
this.onLoaded = onLoaded;
this.loaded = false;
this.image = null;
this.load = function(){
if(this.loaded)
return;
this. ......