/*
* List 大小可变数组
* author: 吴安国
* version: 1.0
*/
function List() {
this.list = new Array();
};
/**
* 将指定的元素添加到此列表的尾部。
* @param object 指定的元素
*/
List.prototype.add = function(object) {
this.list[this.list.length] = object;
};
/**
* 将List添加到此列表的尾部。
* @param listObject 一个列表
*/
List.prototype.addAll = function(listObject) {
this.list = this.list.concat(listObject.list);
};
/**
* 返回此列表中指定位置上的元素。
* @param index 指定位置
* @return 此位置的元素
*/
List.prototype.get = function(index) {
return this.list[index];
};
/**
* 移除此列表中指定位置上的元素。
* @param index 指定位置
* @return 此位置的元素
*/
List.prototype.removeIndex = function(index) {
var object = this.list[index];
this.list.splice(index, 1);
return object;
};
/**
* 移除此列表中指定元素。
* @param object 指定元素
* @return 此位置的元素
*/
List.prototype.remove = function(object) {
var i = 0;
for(; i < this.list.length; i++) {
if( this.list[i] === object) {
break;
}
}
if(i >= this.list.length) {
return null;
} else {
return this.removeIndex(i);
}
};
/**
* 移除此列表中的所有元素。
*/
List.prototype.clear = function() {
this.list.splice(0, this.list.length);
};
/**
* 返回此列表中的元素数。
* @return 元素数量
*/
List.prototype.size = function() {
return this.list.length;
};
/**
* 返回列表中指定的 start(包括)和 end(不包括)之间列表。
* @param start 开始位置
* @param end 结束位置
* @return 新的列表
*/
List.prototype.subList = function(start, end) {
var list = new List();
list.list = this.list.slice(start, end);
return list;
};
/**
* 如果列表不包含元素,则返回 true。
* @return true or false
*/
List.prototype.isEmpty = function() {
return this.list.length == 0;
};
原文链接:http://blog.csdn.net/wuanguo12/article/details/6785266
分享到:
相关推荐
javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...
综上所述,使用JavaScript模拟`<select>`下拉菜单可以提供更丰富的定制性和交互性,但需要注意的是,这也会增加代码复杂性和维护成本。因此,在选择实现方式时,应根据项目需求和团队技术栈来权衡。
3. CSS类操作:在JavaScript中,我们可以使用`classList`属性来操作元素的CSS类。当事件触发时,添加`vibrating`类,使元素应用对应的动画效果;当振动结束后,移除该类,停止动画。 ```javascript setTimeout...
1. **类定义**:`List`函数定义了一个对象,其内部属性`list`是一个JavaScript数组,用以存储数据。 2. **方法实现**: - `add`: 这个方法用于在列表的末尾添加一个元素。它通过将新元素追加到`this.list`数组的...
为了实现更自定义的外观和交互效果,开发者常常会利用JavaScript(JS)和Cascading Style Sheets(CSS)来模拟HTML下拉框。这种方式可以提供更丰富的用户体验,比如动画过渡、自定义样式以及更复杂的交互功能。 ...
通过以上步骤,我们便可以使用原生JavaScript模拟手机信号强度。这个过程不仅可以加深对JavaScript基础的理解,也能提升动态UI设计和交互体验的技巧。实际开发时,可以根据项目需求进行调整和优化,创造出更丰富的...
你可以通过查看这些文件来深入学习Listr的使用方法,包括如何自定义渲染器以改变终端输出的样式,如何处理错误,以及如何与其他Node.js工具结合使用等。 总的来说,Listr是一个强大的工具,它提高了命令行任务管理...
以上就是使用JavaScript模拟下拉选项框的基本步骤。在实际项目中,可能需要结合现有的前端框架(如React, Vue, Angular等)或库(如jQuery)来实现,这会简化代码并提供更好的封装和维护性。在提供的"JS组件-模拟...
在JavaScript(JS)编程中,有时我们希望在用户与网页交互时提供更加友好的提示信息,而不仅仅是使用标准的`alert()`函数。`alert()`函数虽然简单易用,但其弹出的对话框样式单一,不够自定义,可能无法满足一些高级...
在本主题"JS模拟的图片动画特效"中,我们将深入探讨如何利用JavaScript来创建吸引人的视觉效果,特别是针对图片的动画。 1. **基本概念** - JavaScript 动画:通过修改DOM元素的属性(如位置、大小、透明度等)并...
综上所述,实现一个多选下拉的CheckBoxList涉及多个步骤,包括控件的创建、数据绑定、下拉效果模拟以及客户端和服务器端的交互处理。通过这些步骤,我们可以创建一个高效、用户友好的多选下拉列表。
接下来,我们用JavaScript来控制这个动画的启动和停止。假设我们有一个HTML元素`<div id="qq-notification"></div>`用于模拟QQ窗口,可以这样写: ```javascript var notification = document.getElementById('qq-...
本示例“js模拟文字列表鼠标滑过渐变效果”正是关注于此,旨在使文字列表在鼠标经过时呈现出平滑的颜色过渡,从而吸引用户的注意力并增强交互性。 首先,我们需要理解CSS中的渐变(Gradient)概念。渐变是一种颜色...
本例中展示了一个简单的动画效果,即通过 JavaScript 实现了一个“模拟跳舞”的功能。 ### 2. 用户代理检测 #### 代码示例: ```javascript var agt = navigator.userAgent.toLowerCase(); if (agt.indexOf("mac")...
以下是一个使用JavaScript模拟Java List的示例,包括添加、删除、获取元素、清空列表以及检查列表是否为空等方法。 首先,我们创建一个名为`list`的数组对象,这将作为我们的基础数据结构: ```javascript var ...
本主题将详细讲解如何使用JavaScript创建一个可移动的`div`层来模拟`alert`功能,并在`iframe`环境中应用。 首先,让我们了解`alert`的基本用法。`alert`是JavaScript内置的一个全局函数,用于显示一个包含指定消息...
在本文中,我们将深入探讨如何使用Vue.js框架和Mock.js库来模拟登录功能以及实现表格的增删改查。Vue.js是一个轻量级的前端JavaScript框架,它提供了强大的数据绑定和组件化特性,使得开发更加高效。Mock.js则是一个...
虽然现代前端开发推荐使用原生JavaScript或者模块化的库如React、Vue等,但是jQuery仍然被广泛应用于一些遗留系统或者小型项目中。 8. 代码注释:在文档中可以见到作者对关键代码段落的解释,这是一种良好的代码...
3. **模拟下拉框**:selectList通过JavaScript和CSS实现了一个模拟的下拉框,它不仅拥有美观的外观,还能提供更丰富的定制选项,比如颜色、字体、边框等。 4. **键盘操作支持**:除了鼠标交互,selectList还支持...