`
baby69yy2000
  • 浏览: 187845 次
  • 性别: Icon_minigender_1
  • 来自: 自己输入城市...
社区版块
存档分类
最新评论

tools.js

    博客分类:
  • JS-1
阅读更多
//----------------------------------------------------------------------
// Map
function Map(){
    this.key = [];
    this.value = {};
}

Map.prototype.put = function(k, v){
    if (this.value[k] == null) 
        this.key.push(k);
    this.value[k] = v;
};

Map.prototype.get = function(k){
    return this.value[k];
};

Map.prototype.remove = function(k){
    delete this.value[k];
};

Map.prototype.size = function(){
    return this.key.length;
};

Map.prototype.toString = function(){
    var str = "";
    for (var prop in this.value) {
        str += "key: " + prop + "; value: " + this.value[prop] + "<br />";
    }
    return str;
};

Map.prototype.containsKey = function(k){
    if (this.value[k] !== undefined) 
        return true;
    return false;
};

Map.prototype.keyToArray = function(){
    var k = [];
    var i = 0;
    for (k[i++] in this.value) 
        ;
    return k;
};

Map.prototype.valueToArray = function(){
    var v = [];
    var i = 0;
    for (var prop in this.value) 
        v[i++] = this.value[prop];
    return v;
};

//----------------------------------------------------------------------
// 检测浏览器
// 调用check.browser();
// one
function B(){
}

B.b = function(){
    for (var i in navigator) {
        document.write("navigator." + i + " = " + navigator[i] + "<br />");
    }
};
// two
var check = {
	browser: function() {
		for (var i in navigator)
			document.write("navigator." + i + " = " + navigator[i] + "<br />");
	}
};

var Brower={
    // 判断是否为IE6浏览器 
    isIE6:function(){return navigator.userAgent.search('MSIE')>0&&navigator.userAgent.search('6')>0;}, 
    // 判断是否为IE浏览器
    isIE:function(){return navigator.userAgent.search('MSIE')>0;},
    // 判断是否为Opera浏览器
    isOpera:function(){return navigator.userAgent.indexOf('Opera')>-1;},
    // 判断是否为FireFox浏览器
    isMoz:function(){return navigator.userAgent.indexOf('Mozilla/5.')>-1;}
}

//----------------------------------------------------------------------
// 查看程序运行时间
function Timing(){
    this.startTime = 0;
    this.stopTime = 0;
    
    Timing.prototype.start = function(){
        this.startTime = new Date();
    };
    
    Timing.prototype.stop = function(){
        this.stopTime = new Date();
        return (this.stopTime.getTime() - this.startTime.getTime()) + 'ms';
    };
}

//----------------------------------------------------------------------
//函数和对象绑定
function bindMethod(obj, f){
    return function(){
        return f.apply(obj, arguments);
    }
}
//对象
var obj = {
    color: 'red'
};
//函数
function sayColor(str){
    document.write(str + this.color);
};

var fun = bindMethod(obj, sayColor);
fun('The color is: '); // The color is: red
//----------------------------------------------------------------------


/**
	 * Map类
	 */
	function Map() {
		this.entry = {};
		this.mapSize = 0;
	};
	
	Map.prototype = {
		put: function(key, value) {
			this.entry[key] = value;
			this.mapSize++;
		},
		
		get: function(key) {
			if(!this.isEmpty()) {
				return this.entry[key];
			}
			return null;
		},
		
		remove: function(key) {
			if(!this.isEmpty()) {
				delete this.entry[key];
				this.mapSize--;
			}
			return true;
		},
		
		clear: function() {
			if(!this.isEmpty()) {
				for(var prop in this.entry) {
					delete this.entry[prop];
				}
				this.mapSize = 0;
			}
		},
		
		removeThis: function() {
			for(var prop in this) { delete this[prop]; }
			this.mapSize = null;
		},
		
		containsKey: function(key) {
			if(typeof this.entry[key] !== "undefined") {
				return true;
			}
			return false;
		},
		
		size: function() {
			return this.mapSize;
		},
		
		isEmpty: function() {
			return this.mapSize == 0;
		},
		
		getEntry: function() {
			return this.entry;
		},
		
		toString: function() {
			var max = this.mapSize - 1;
			var buf = new StringBuffer();
			var i = 0;
			
			buf.append("{");
			for(var prop in this.entry) {
				buf.append(prop + "=" + this.entry[prop]);
				if(i < max) {
					buf.append(", ");
				}
				i++;
			}
			buf.append("}");
			return buf.toString();
		}
	};
分享到:
评论

相关推荐

    jquery.tools.min.js 最新的1.2.7版本

    jquery.tools.min.js 最新的1.2.7版本 jquery.min.js是压缩版的jquery库,是由完整版的jQuery库经过压缩得来,压缩后功能与未压缩的完全一样,只是将其中的空白字符、注释、空行等与逻辑无关的内容删除,并进行一些...

    jquery.tools.js下载

    jquery.tools.js jquery.tools.js

    jQuery.Tools.min.js 下载

    jQuery Tools 是一套非常优秀的 Web UI 库,包括 Tab 容器,可折叠容器,工具提示,浮动层以及可滚动容器等等,可以为你的站点带来非同寻常的桌面般体验,这套工具的主要作用是显示内容,这是绝多多数站点最需要的...

    taskTools.js

    taskTools.js

    tools.js前端开发函数工具包

    前端开发中常常会遇见ie版本兼容性问题,为了统一解决在开发中遇见的各种元素获取问题和一些样式获取问题,封装函数工具包,使用时调用工具包。

    tools.js:封装了一些常用的方法,组成tools.js

    tools.js 封装了一些常用的方法,并且对ES5新增的一些方法,做了兼容处理 1.圣杯继承 inherit 2.深度克隆 deepClone 3.判断数据类型 type 4.封装函数,返回元素e的第n个兄弟元素节点,n为正返回后面的兄弟元素节点,...

    xml3d.tools.js:XML3D 的工具包库

    xml3d.tools.js XML3D 的工具包库。 有关概述,请查看构建说明蚀下载标准版 Eclipse。 在 Eclipse 中,转到File -&gt; Import 。 选择Existing Projects into Workspace并单击Next 。 将根目录设置为 xml3d.tools.js 库...

    tools.tar.gz

    node-v10.7.0-linux-x64是Node.js的一个特定版本,它是JavaScript运行时环境,用于执行服务器端的JavaScript代码。在这里,它是elasticsearch-head的运行基础,因为elasticsearch-head是用JavaScript编写的,并依赖...

    vue_dev_tools.crx

    Vue.js 是一款流行的轻量级前端JavaScript框架,它简化了网页和单页应用(SPA)的开发过程。Vue DevTools 是一个强大的浏览器扩展,专为Vue.js应用提供调试和性能分析功能。在本篇文章中,我们将深入探讨Vue ...

    jquery.tools.min

    《jQuery Tools:高效实现JavaScript功能的利器》 jQuery Tools,简称为jqTools,是一个轻量级的JavaScript库,尤其在处理用户界面交互方面表现出色。标题中的"jquery.tools.min"表明我们正在讨论的是这个库的压缩...

    linux-tools.zip

    用于快捷检索nginx、mysql、php、node.js、python是否安装,以及快捷查询各用户的历史命令、历史登录信息、以及用户,还可以快捷检索想要查询的东西 ltuser——查询所有用户 lthistory——查询所有用户的历史操作...

    jQuery.tools.min.js

    jQuery插件。我用它实现弹窗效果。感觉还可以。类似于easyUI中的弹出窗口

    vs_build_tools.zip

    Visual Studio Build Tools,简称VS Build Tools,是微软公司为开发者提供的一款重要工具集,主要用于构建C++、C#、JavaScript等语言的项目,而无需完整安装Visual Studio IDE。在给定的压缩包"vs_build_tools.zip...

    vue3-dev-tools.crx

    安装Vue3 DevTools的过程相对简单,只需要将`vue3_dev_tools.crx`文件拖放到Chrome浏览器的扩展管理页面即可。不过需要注意的是,由于安全策略,现代浏览器可能需要开启“开发者模式”才能手动安装CRX文件。 总的来...

    前端 - node.js 16.12.0

    `install_tools.bat` 和 `nodevars.bat` 文件是 Node.js 安装过程中的重要脚本,它们帮助设置环境变量和路径,使开发者能够快速启动开发环境。`nodevars.bat` 通常会提供一个已经配置好 Node.js 环境的命令行,方便...

    tools.js:一个简单的工具,打包了一些常用的有用功能

    tools.js 这是一个简单封装了一些常用函数的简易库,主要是事件、运动 1、兼容性 IE6+、Chrome、Firefox、Safari、Opera等浏览器 2、使用说明 使用Tool.XXX调用: 在console中运行Tool可以查看目前已经实现的方法

    jquery.tools.min.js

    jquery.tools压缩版js,中带jquery1.4.2等多种js功能

    nvm-tools.zip

    在IT行业中,Node.js作为一个强大的服务器端JavaScript运行环境,被广泛应用于构建高效、可扩展的网络应用。然而,随着项目需求的变化和Node.js版本的不断更新,开发者往往需要在不同的版本之间切换,这就引出了我们...

    解决maven项目找不到tools-1.8.0.jar的问题,缺失tools-1.8.0.jar包

    然而,有时候在运行Maven项目时,可能会遇到找不到特定jar包的问题,比如本例中的`tools-1.8.0.jar`。这个问题通常表明Maven在构建路径或本地仓库中未找到该依赖。下面我们将详细探讨如何识别、解决此类问题。 首先...

Global site tag (gtag.js) - Google Analytics