`
rguess
  • 浏览: 70242 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

js扩展一些比较有用的方法

阅读更多
js原型链扩展一些很实用的方法:
/**
 * 格式化日期
 * @param format
 * @returns
 */
Date.prototype.format = function(format) {
    var o = {
        "M+" : this.getMonth() + 1, // month
        "d+" : this.getDate(), // day
        "h+" : this.getHours(), // hour
        "m+" : this.getMinutes(), // minute
        "s+" : this.getSeconds(), // second
        "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
        "S" : this.getMilliseconds()
    // millisecond
    };
 
    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "")
                .substr(4 - RegExp.$1.length));
    }
 
    for ( var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
                    : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
};
//使用
alert(new Date().format("yyyy-MM-dd"))
 
/**
 * js原型链实现replaceAll
 */
String.prototype.replaceAll  = function(s1,s2){
    return this.replace(new RegExp(s1,"gm"),s2);
};
 
/**
 * js实现endWith
 */
String.prototype.endWith=function(str){
    if(str==null||str==""||this.length==0||str.length>this.length)
      return false;
    if(this.substring(this.length-str.length)==str)
      return true;
    else
      return false;
    return true;
}
 
/**
 * js实现startWith
 */
String.prototype.startWith=function(str){
    if(str==null||str==""||this.length==0||str.length>this.length)
      return false;
    if(this.substr(0,str.length)==str)
      return true;
    else
      return false;
    return true;
}
 
/**
 * 数组扩展---根据下标删除某元素
 */
Array.prototype.del=function(n) {
    if(n<0) return this;
    else
        return this.slice(0,n).concat(this.slice(n+1,this.length));
};
 
/**
 * 数组扩展---根据一个值删除某元素
 */
Array.prototype.delByValue=function(value) {
    for(var i = 0;i<this.length;i++){
        if(this[i] == value){
            this.del(i);
        }
    }
};
 
/**
 * 数组扩展判断某值知否在数组中
 */
Array.prototype.isContainsValue=function(value) {
    for(var i in this){
        if(this[i]==value){
            return true;
        }
    }
    return false;
};
 
/**
 * js阻止冒泡事件
 */
function stopPropagation(e) {
    e = e || window.event;
    if(e.stopPropagation) { //W3C阻止冒泡方法
        e.stopPropagation();
    } else {
        e.cancelBubble = true; //IE阻止冒泡方法
    }
}


来自个人博客 http://www.rguess.com/blog/article/49.html 求关注
分享到:
评论

相关推荐

    javascript string和array常用扩展方法

    javascript string和array常用扩展方法

    js扩展实例说明

    js扩展方法实例说明

    扩展JavaScript功能的正确方法(译文)

    JavaScript内置了众多方法供开发者使用,但随着项目需求的扩展,有时候我们需要添加一些内置方法里没有的功能。在扩展JavaScript功能时,重要的是要选择一种不破坏代码原有结构、不会引起意外副作用的方法,以实现...

    js扩展多选下拉框

    总的来说,“js扩展多选下拉框”是一个典型的前端开发实践,它融合了JavaScript事件处理、DOM操作、数据管理以及用户体验优化等多个方面,对于提高开发者在Web应用中的交互设计能力具有重要意义。通过学习和实践这样...

    js实现prototype扩展的方法(字符串,日期,数组扩展)

    在JavaScript中,prototype扩展是一种常见的方法,用于向内置对象(如String、...同时,需要注意的是,直接扩展原型链可能会影响到全局环境,对于某些性能敏感的应用,推荐使用ES6的类或者通过闭包封装这些扩展方法。

    扩展jquery的ajax方法

    扩展jquery的ajax方法,可以处理一些ajax请求的共通问题,比如ajax请求出错之后跳转的问题。

    js扩展基础类

    ### js扩展基础类知识点 #### 一、字符串长度计算(charlen) 在JavaScript中,标准的`String`对象并未提供直接获取包含中文字符在内的多字节字符长度的方法。本段代码通过扩展`String.prototype`实现了这一功能。...

    WebKit中JsCore的扩展方法.pdf

    【WebKit中的JsCore扩展方法】 WebKit是一个开源的网页排版引擎,被广泛应用于各大浏览器,如苹果的Safari。WebKit由两部分组成:WebCore和JsCore。WebCore主要负责HTML网页的解析,而JsCore则是JavaScript解释引擎...

    de1.7 轻量级的javascript扩展函数库

    de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...

    d3jsExtended扩展D3包含一些常见的jQuery函数

    为了解决这个问题,d3.js Extended应运而生,它扩展了d3.js的功能,将一些常见的jQuery函数引入到d3中,使开发者能够更加高效地进行数据可视化开发。 d3.js Extended的核心理念是简化d3.js的使用,使得具备jQuery...

    扩展JavaScript基础类的方法

    一次在Iteye上面看到的一个帖子觉得写得非常好,就复制下来,本来留到自己以后慢慢用,我想很多朋友应该也需要的,就传上来分享一下

    EasyUI扩展方法 + jutil.js

    "EasyUI 扩展方法 + jutil.js" 提供了对原生 EasyUI 功能的增强和自定义,以满足更复杂或特定的项目需求。 在标题中提到的 "EasyUI 扩展方法" 指的是对 EasyUI 基础组件的额外功能添加,这些扩展可能包括新的API、...

    基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf

    基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf 本文主要介绍了基于Rhino引擎的低侵入式JavaScript内置对象扩展方法。Rhino引擎是一个JavaScript解析引擎,可以解析JavaScript脚本并生成网页信息。为了...

    js 提示功能扩展

    JavaScript(简称JS)是一种广泛应用于Web开发的轻量级脚本语言,主要在客户端运行,为用户提供动态交互体验。在网页开发中,提示功能是必不可少的一部分,它可以帮助用户理解页面操作的结果或者提供必要的引导信息...

    Node.js来一打 C++ 扩展.源码

    调试C++扩展可能比较复杂,因为涉及JavaScript和C++两层。可以使用V8的调试接口,或者结合Node.js的`--inspect`选项,配合VSCode、Chrome DevTools等工具进行调试。 9. **错误处理**: 在C++扩展中,正确处理错误...

    编写javascript插件,来扩展已有的JavaScript功能.zip

    标题中的“编写javascript插件,来扩展已有的JavaScript功能”意味着我们将探讨如何通过创建自定义函数或方法,添加到JavaScript的内置对象或者全局环境中,从而实现功能增强。例如,我们可以为String对象添加新的...

    js异步上传图片文件,C#类扩展方法

    本主题将深入探讨“js异步上传图片文件”以及“C#类扩展方法obtojson”。 首先,我们来看看“js异步上传图片文件”。在JavaScript中,处理大文件的异步上传通常涉及HTML5的File API。FileReader接口允许我们读取...

    chromium浏览器集成JS扩展指南_4.docx

    本文档旨在为开发人员提供一个详细的指导方案,介绍如何在Chromium浏览器中集成JavaScript扩展。特别地,本文将聚焦于一个具体的示例——移植NGB模块中的`NGBFileManager`接口与`NGBDirectory`接口至JavaScript环境...

Global site tag (gtag.js) - Google Analytics