两个比较有用的Javascript工具函数代码

1.大家在实际工作中,会写各式各样的赋值语句。
比如最常用的obj.style.display = "none";
如果这样的赋值语句一多,obj.style一排下来都要看晕了

下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄


代码如下:

/**
* 扩展函数
* @param target 需要扩展的对象
* @param params 要往target里放的属性和方法
*/
function extend(target, params) {
    if (!target) {
        target = {};
    }
    for (var prop in params) {
        target[prop] = params[prop];
    }
    return target;
}

2. 由于ie不完全遵守w3c标准,他的事件模型和别的浏览器不一样。调用的方法也不一样。
如果遇到要为控件动态增加事件。用onclick = function() {}一类的在dom动态创建的时候不一定有效,而且无法绑定多个句柄。下面介绍一个通用的支持全浏览器的绑定事件函数。
在大部分情况下,useCapture用的是false,所以这里干脆写死。


代码如下:

/**
* 动态创建事件句柄
* @param control 需要扩展的对象
* @param eventName 事件名
* @param fn 函数句柄
*/
function addEventListener(control, eventName, fn) {

if (window.attachEvent) {
        control.attachEvent('on' + eventName, fn);
    } else {
        control.addEventListener(eventName, fn, false);
    }
}

以上两个函数的使用Sample可以参照我写的其他的文章中的代码

(0)

相关推荐

  • js计算文本框输入的字符数

    使用JavaScript实时的计算用户当前输入的字符数函数代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript统计字符数</title> <script language="javascript"> function C

  • 几个比较实用的JavaScript 测试及效验工具

    尽管JavaScript的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器. JSLint JSLint是基于Web的验证JavaScript错误代码的工具.它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法. JsUnit JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架.对JavaScript而言,JUnit就像是它的一个端口.当然它也可以在多个浏览器.多个机器的不同操作系统中自动运行.它的发展始于2001年1月. J3Un

  • js点击文本框后才加载验证码实例代码

    经常到各大网站去留言或者发帖的朋友应该知道现在很多网站的留言地方的验证码不是直接显示的.而是在点击验证码输入框之后才会显示出来验证码的.下面作者也总结了一篇关于如何利用js实现点击文本框然后再加载验证码的效果的. 废话不多说了,下面是具体的实现代码. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title

  • js文本框走动跑马灯效果代码分享

    本文实例讲述了js实现文本框走动跑马灯效果.分享给大家供大家参考.具体如下: 运行效果图: 小提示:直接复制下面分享的代码即可运行,大家可以自定义文字. 为大家分享的js实现文本框走动跑马灯效果代码如下 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>文本框走动跑马灯代码</title> </

  • 纯JavaScript代码实现文本比较工具

    之前项目需求需要写一个纯js文本比较工具,在此小编把代码分享在我们平台供大家参考,算法有待优化,本文写的不好还请见谅. 先上效果图: 代码如下所示: 把源码保存为html格式的文件就可以直接运行了 <!doctype html> <html> <head> <title>文本比较工具</title> <style type="text/css"> *{padding:px;margin:px;} html,body

  • 两个比较有用的Javascript工具函数代码

    1.大家在实际工作中,会写各式各样的赋值语句. 比如最常用的obj.style.display = "none"; 如果这样的赋值语句一多,obj.style一排下来都要看晕了 下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄 复制代码 代码如下: /** * 扩展函数 * @param target 需要扩展的对象 * @param params 要往target里放的属性和方法 */ function extend(target, params

  • 56个实用的JavaScript 工具函数助你提升开发效率

    目录 1. 数字操作 (1)生成指定范围随机数 2. 数组操作 (1)数组乱序 (2)数组扁平化 (3)数组中获取随机数 3. 字符串操作 (1)生成随机字符串 (2)字符串首字母大写 (3)手机号中间四位变成* (4)驼峰命名转换成短横线命名 (5)短横线命名转换成驼峰命名 (6)全角转换为半角 (7)半角转换为全角 4. 格式转化 (1)数字转化为大写金额 (2)数字转化为中文数字 5. 操作存储 (1)存储loalStorage (2)获取localStorage (3)删除localSt

  • javascript 快速排序函数代码

    核心代码: 复制代码 代码如下: function quickSort(arr){ //如果数组只有一个数,就直接返回: if(arr.length<1){ return arr; } //找到中间的那个数的索引值:如果是浮点数,就向下取整 var centerIndex = Math.floor(arr.length/2); //根据这个中间的数的索引值,找到这个数的值: var centerNum = arr.splice(centerIndex,1); //存放左边的数 var arrLe

  • javascript工具库代码

    复制代码 代码如下: /* *YYJ.js 主要提供后台应用方法 *目前有Ajax.addLoadEvent.deleteAll.getByClass.$C(=getByClass).$.yyjtable.setCss.getCss.iaArray等方法.最后面还提供了一个 *可实例化的方法YYJ.tick用来计算脚本运行时间 *版本0.1    --tianyi    yyj */ var YYJ=function(){     var UniqueInstance;     function

  • fckediter javascript事件函数代码

    demo: function FCKeditor_OnComplete( editorInstance ) { editorInstance.EditorDocument.attachEvent("onkeydown", editor_keydown); editorInstance.EditorDocument.attachEvent("onkeyup", editor_keyup); } function editor_keydown() { var oEdit

  • Javascript UrlDecode函数代码

    有时候可能会有这么一个需求,我在后台使用: 复制代码 代码如下: HttpUtility.UrlEncode(str, System.Text.Encoding.UTF8); 将Url进行编码,前台JS需要使用这段内容,这时候就需要解码了: 代码 复制代码 代码如下: /** * Url编码 **/ ShengUtils.encode = function(unzipStr){ var zipstr=""; var strSpecial="!\"#$%&'(

  • javascript四舍五入函数代码分享(保留后几位)

    直接看代码吧 参数一:要保留小数位的数字 参数二:要保留的位数 复制代码 代码如下: function FormatNumber(srcStr,nAfterDot){  var srcStr,nAfterDot;  var resultStr,nTen;  srcStr = ""+srcStr+"";  strLen = srcStr.length;  dotPos = srcStr.indexOf(".",0);  if (dotPos ==

  • JavaScript常用的工具函数分享

    目录 格式化时间戳 时间格式化 几分钟前 几小时前 url参数转为对象 对象序列化[对象转url参数] 本地存储 cookie操作 数字格式化单位 数字千位过滤 过滤成版本号 首字母大写 class 操作 文本复制功能 判断是否是一个数组 判断是否是一个空数组 克隆一个数组 数组去重 是否为PC端 判断是否为微信 设备判断:android.ios.web 常见正则校验 去除字符串空格 过滤html代码 生成随机数范围 判断图片加载完成 光标所在位置插入字符 图片地址转base64 base64图

  • JavaScript常用工具函数库汇总

    对象或数组的深拷贝 /** * 对象或数组的深拷贝 * @param {*} cloneObj 被克隆的对象 * @param {*} targetObj 克隆的目标对象 * @param {*} isOverride 若属性重复,是否覆盖被克隆对象的属性 */ function deepClone(cloneObj, targetObj, isOverride = true) { const _toString = Object.prototype.toString if (_toString

  • JavaScript常用工具函数汇总(浏览器环境)

    前端业务中比较常用的JavaScript工具函数,浏览器环境常用,可直接拷贝在项目里使用.这里统一整理,方便查阅,本文章会持续更新. 一.file转为base64 /** * file转为base64 * @param {*} file file对象 * @param {*} callback */ export const fileToDataURL = (file, callback) => { let freader = new FileReader(); freader.readAsDa

随机推荐