精华内容
下载资源
问答
  • js-utils 日常 JavaScript 函数工具库,方便查看
  • Underscore一个JavaScript实用库,提供了一整套函数式编程的...js超好用工具库js函数式编程工具库。Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, J
    Underscore.js一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何javascript内置对象。它是这个问题的答案:“如果我在一个空白的HTML页面前坐下, 并希望立即开始工作, 我需要什么?“...它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。 

    Underscore.js 提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试, 等等.

    官网使用说明:http://underscorejs.org/  【英文版的,推荐看这个

    中文说明:http://www.css88.com/doc/underscore/  【这个中文翻译有很多错误,最好自己看英文版的,借助Google翻译还是容易看懂的,百度翻译太垃圾了,慎用百度翻译】

    不用翻墙的Google翻译:https://translate.google.cn/ 


    详情使用说明如下:

    举例:
      
    /**
     * 得到没有高亮标签的申请人
     */
    template.helper("splitProposers"function(data) {
        var proposer = data.proposer || "";
        var proposers = [];
        _.map(proposer.split(";"), function(val) {
            proposers.push("<a class='colorblue' title='" + unWrapHighlight(val) + "'>" + val + "</a>");
        });
        
        return proposers.join("; ");
    });
    未完待续:


    --------------------------------------------------

    其他参考:

    http://qiannianhua.iteye.com/blog/2253312  

    http://blog.csdn.net/ma_jiang/article/details/52625240



    展开全文
  • 业务中比较常用的JavaScript工具函数,可以用在前端环境,也可以用在node服务端,统一整理,方便查阅,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
  • JS】自定义JS工具函数库-封装数组高级方法-unique-cancat-slice-flatten-chunk-difference-pull-drop 这是我的node和npm的版本 1. 导出所有模块 // 暴露函数相关API export { apply } from "./function/apply";

    关于 自定义JS工具类 相关类似的源码请看 https://gitee.com/ykang2020/my_utils

    对相关自定义模块进行打包发布

    【JS】自定义JS工具函数库-封装数组高级方法-unique-cancat-slice-flatten-chunk-difference-pull-drop
    【JS】自定义JS工具函数库-自定义对象方法-new-instanceof-mergeObject-实现数组与对象的深拷贝与浅拷贝-封装字符串相关函数
    等相关博文

    这是我的node和npm的版本
    在这里插入图片描述

    1. 导出所有模块

    在这里插入图片描述

    // 暴露函数相关API
    export { apply } from "./function/apply";
    export { bind } from "./function/bind";
    export { call } from "./function/call";
    export { debounce } from "./function/debounce";
    export { throttle } from "./function/throttle";
    
    // 暴露数组相关API
    export { chunk } from "./array/chunk";
    export { concat } from "./array/concat";
    export {
      map,
      reduce,
      filter,
      find,
      findIndex,
      every,
      some,
    } from "./array/declares";
    export { difference } from "./array/difference";
    export { drop, dropRight } from "./array/drop";
    export { flatten } from "./array/flatten";
    export { pull, pullAll } from "./array/pull";
    export { slice } from "./array/slice";
    export { unique } from "./array/unique";
    
    // 暴露对象相关API
    export { clone1, clone2 } from "./object/clone";
    export {
      deepClone1,
      deepClone2,
      deepClone3,
      deepClone4,
    } from "./object/deepClone";
    export { mergeObject } from "./object/mergeObject";
    export { myInstanceOf } from "./object/myInstanceOf";
    export { newInstance } from "./object/newInstance";
    
    // 暴露字符串相关API
    export { reverseString, palindrome, truncate } from "./string/reverseString";
    
    // 暴露事件相关API
    export { myAddEventListener } from "./eventBind/myAddEventListener";
    export { eventBus } from "./eventBind/eventBus";
    export { PubSub } from "./eventBind/myPubSub";
    

    删除所有之前在模块里默认暴露的default关键字

    2. 配置webpack

    const path = require("path");
    module.exports = {
      // 入口
      entry: "./src/index.js",
      // 出口
      output: {
        // 打包文件夹
        publicPath: "dist",
        // 打包文件
        filename: "yk-utils.js",
        // 设置对外暴露对象的全局名称
        library: "ykUtils",
        // 打包生成通过esm、commonjs、requirejs的语法引入
        libraryTarget: "umd",
      },
      // 配置webpack-dev-server
      devServer: {
        // 静态根目录
        contentBase: "www",
        // 端口号
        port: 8080,
      },
    };
    

    3. 打包

    packjson.js

      "scripts": {
        "dev": "webpack-dev-server",
        "build:watch": "webpack --watch"
      },
    

    运行

    npm run build:watch
    

    在这里插入图片描述

    生成的打包文件
    在这里插入图片描述

    4. 测试

    新建一个html文件,引入打包好了js文件,进行测试

      <script src="../dist/yk-utils.js"></script>
      <script>
        console.log(ykUtils.reverseString('abcdef'))
      </script>
    

    在这里插入图片描述

    5. 改包描述文件

    packjson.js
    name: 必须是唯一的名称(在npm在线中央仓库中没有同名的)
    main: 必须指定为打包生成的js文件
    keywords: 指定一些方便别的程序员搜索到当前库的关键字

    {
      "name": "mine-own-util",
      "version": "1.0.1",
      "description": "",
      "main": "./dist/atguigu-utils.js",
      "directories": {
        "test": "test"
      },
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "build:watch": "webpack --watch"
      },
      "keywords": [
        "atguigu",
        "utils",
        "array",
        "object",
        "function",
        "string",
        "axios",
        "event-bus",
        "pub-sub"
      ],
      "author": "yk2012",
      "license": "ISC",
      "dependencies": {
        "webpack": "^5.16.0",
        "webpack-cli": "^4.4.0"
      }
    }
    

    6. 配置npm

    npm get registry
    

    查看自己npm的配置,之前有没有改成淘宝镜像
    在这里插入图片描述
    注意:发布的时候npm配置的中央仓库不能是淘宝镜像

    所以要执行 改回 npm官方地址

    npm config set registry https://registry.npmjs.org/
    

    在这里插入图片描述

    相关博文
    【npm】npm换成cnpm

    平时不用发布时可以换成淘宝镜像:

    npm config set registry http://registry.npm.taobao.org/
    

    官网注册一个npm账号

    然后登录npm账号

    npm login
    

    在这里插入图片描述

    7. 发布仓库

    npm publish
    

    在这里插入图片描述
    此时就已经上传到npm中央仓库了~

    任何人都可以下载这个包了~

    8. 测试

    创建一个新文件夹

    下载包
    在这里插入图片描述

    可以看到已经下载下来了~
    在这里插入图片描述
    使用

    // 使用ESM引入
    import {test} from 'yk-utils'
    test()
    
    // 使用commonjs引入
    const {test} = require('yk-utils')
    test()
    

    9. 更新与删除

    更新包

    内容后 修改版本号
    然后重新打包
    最后在重新上传即可

    删除包

    必须在72小时内, 否则不能再删除

    npm unpublish --force
    

    为了不污染中央仓库,强制删除刚刚发布的包~
    在这里插入图片描述
    关于 自定义JS工具类 相关类似的源码请看 https://gitee.com/ykang2020/my_utils

    展开全文
  • 一些常用的 JavaScript 工具函数 utils-pro 提供常用的一些工具函数和方法 引入方式 utils-pro支持script标签引入,挂载在全局的window.rook变量下。 [removed][removed] [removed] var OS = rook.deviceUtils.get...
  • JS工具函数库(持续更新)

    千次阅读 2018-07-14 20:23:37
    //通过JSON实现深拷贝(会忽略掉函数) function deepclone(target, origin) { target = JSON.parse(JSON.stringify(origin)); return target; } //返回字节长度 Object.prototype.retBytes = function () { var ...
    //数组去重1
    
    Array.prototype.removal = function () {
    
        var newArr = [];
        var obj = {};
    
        for (var i = 0; i < this.length; i++) {
    
            if (!obj[this[i]]) {
    
                obj[this[i]] = 'abc';
    
                newArr.push(this[i]);
    
            }
    
        }
    
        return newArr;
    
    };
    
    //数组去重2
    
    function ES6Sort(arr) {
        var newArr = arr.filter(function (item, index, self) {
    
            return self.indexOf(item) === index;
    
        })
        return newArr;
    }
    
    //数组去重3
    
    Array.prototype.setDuplicateRemoval = function () {
    
        return Array.from(new Set(this))
    
    }
    
    //数组去重4
    
    Array.prototype.indexOfSort = function () {
    
        var newArr = [];
        for(var i = 0 ; i < this.length ; i ++){
            var n = this[i];
            newArr.indexOf(n) === -1 && newArr.push(n);
        }
        return newArr;    
    }
    
    
    
    //深拷贝
    
    Object.prototype.deepClone = function (target, origin) {
    
        var target = target || {};
    
        for (var prop in origin) {
    
            if (origin.hasOwnProperty(prop)) {
    
                if (typeof (origin[prop]) === 'object') { //如果是引用值
    
                    if (Object.prototype.toString.call(origin[prop]) === '[object Array]') {
    
                        //如果是数组引用值
    
                        target[prop] = [];
    
                    } else { //如果是对象引用值
    
                        target[prop] = {};
    
                    }
    
                    deepClone(target[prop], origin[prop]);
    
                } else { //如果是原始值
    
                    target[prop] = origin[prop];
    
                }
    
            }
    
        }
        return target;
    };
    
    //通过JSON实现深拷贝(会忽略掉函数)
    
    function deepclone(target, origin) {
    
        target = JSON.parse(JSON.stringify(origin));
    
        return target;
    }
    
    
    
    //返回字节长度
    
    Object.prototype.retBytes = function () {
    
        var len = this.length;
    
        for (var i = 0; i < len; i++) {
    
            if (this.charCodeAt(i) >= 255) {
    
                len++;
    
            }
    
        }
        return len;
    };
    
    
    
    
    //冒泡排序
    
    Array.prototype.bubSort = function () {
    
        var len = this.length,
    
            temp;
    
        for (var i = 0; i < len; i++) {
    
            for (var j = i + 1; j < len; j++) {
    
                if (this[i] < this[j]) {
    
                    [this[i], this[j]] = [this[j], this[i]]
    
                }
    
            }
    
        }
    
        return this;
    
    };
    
    //快速排序
    
    Array.prototype.quickSort = function () {
    
        if (this.length < 2) {
            return this;
        }
    
        var left = [],
            right = [],
            radix = this[0];
    
        this.shift();
    
        for (var i = 0, len = this.length; i < len; i++) {
    
            if (radix > this[i]) {
    
                left.push(this[i]);
    
            } else {
    
                right.push(this[i]);
    
            }
    
        }
        return [].concat(left.quickSort(), radix, right.quickSort());
    };
    
    //选择排序
    
    Array.prototype.selectSort = function () {
        for (var i = 0, len = this.length; i < len - 1; i++) {
            var index = i;
            for (var j = i + 1; j < len; j++) {
                if (this[index] > this[j]) {
                    index = j;
                }
            }
            [this[i], this[index]] = [this[index], this[i]];
        }
        return this;
    }
    
    
    
    //二分查找
    
    Array.prototype.twoPoints = function (low, high, n) {
    
        var center = Math.floor((low + high) / 2);
    
        if (this[center] == n) {
    
            return center;
    
        } else if (this[center] > n) {
    
            this.twoPoints(low, center - 1, n);
    
        } else if (this[center] < n) {
    
            this.twoPoints(center + 1, this.length - 1, n);
    
        }
    
    }
    
    
    
    //斐波那契数列第n位
    
    function fibonacci(n) {
    
        if (n == 1 || n == 2) {
            return 1;
        }
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
    
    
    
    //n的阶乘
    
    function factorial(n) {
    
        if (n == 1) {
            return 1;
        }
        return n * factorial(n - 1);
    }
    
    
    
    //速度框架
    
    (function () {
    
        var requestAnimationFrame = window.requestAnimationFrame || function (fn) {
    
            return setTimeout(fn, 1000 / 60);
    
        };
    
        var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
    
        function move(ele, attr, targetVal, speed) {
    
            var CSSdom = ele.currentStyle || getComputedStyle(ele),
    
                startVal = parseFloat(CSSdom[attr]) || 0,
    
                targetVal = parseFloat(targetVal),
    
                bool = targetVal > startVal,
    
                speed = bool ? speed : -speed;
    
    
    
            function m() {
    
                startVal += speed;
    
                var ifEnd = bool ? startVal >= targetVal : startVal <= targetVal;
    
                ifEnd && (startVal = targetVal);
    
                ele.style[attr] = startVal + 'px';
    
                !ifEnd && requestAnimationFrame(m);
    
            }
    
            requestAnimationFrame(m);
    
        }
    
        window.move = move;
    
    }());
    
    
    
    //碰撞检测
    
    function isCollision(ele1, ele2) {
    
        var L1 = ele1.offsetLeft,
    
            U1 = ele1.offsetTop,
    
            R1 = ele1.offsetLeft + ele1.clientWidth,
    
            B1 = ele1.offsetTop + ele1.clientWidth,
    
    
    
            L2 = ele2.offsetLeft,
    
            U2 = ele2.offsetTop,
    
            R2 = ele2.offsetLeft + ele2.clientWidth,
    
            B2 = ele2.offsetTop + ele2.clientHeight;
    
    
    
        if (R1 >= L2 && B1 >= U2 && L1 <= R2 && U1 <= B2) {
    
            return true;
    
        } else {
    
            return false;
    
        }
    
    }
    
    
    

     

    展开全文
  • 一个基于函数式编程思想开发的Javascript工具库,所有的函数都没有副作用,拥有非常多的实用性功能,比如函数的防抖,节流,柯里化,日期格式化,解析地址等等。
  • JavaScript 函数库工具类 Browser Support 7+ :check_mark: Latest :check_mark: Latest :check_mark: Latest :check_mark: Latest :check_mark: 6+ :check_mark: Docs 查看文档 Installing npm install xe-utils...
  • 强大实用的js(ts)函数库. 让你高效优雅的完成业务代码! API Documents:  https://www.funclib.net Quick start # Install funclib.js $ npm install funclib # Use funclib $ node > var fn =...

    funclib.js

    GitHub: https://github.com/CN-Tower/funclib.js
    npm LICENSE MIT Build Status Coverage Status

    Brief Intro

    强大实用的js(ts)函数库.

    让你高效优雅的完成业务代码!

    API Documents:  https://www.funclib.net

    Quick start

    # Install funclib.js
    $ npm install funclib
    
    # Use funclib
    $ node
    > var fn = require('funclib');
    > var ps = [{name: 'Tom', age: 18}, {name: 'Bob', age: 22}];
    > fn.log(ps, 'Persons');
    // =>
    ==================================================================
                           [10:33:55] Persons 
    ------------------------------------------------------------------
    [
      {
        "name": "Tom",
        "age": 18
      },
      {
        "name": "Bob",
        "age": 22
      }
    ]
    ==================================================================
    
    > // var bob = fn.find(ps, function(p) { return p.name === 'Bob'; });
    > var bob = fn.find(ps, {name: 'Bob'});
    > fn.log(bob, 'Persons');
    // =>
    ==================================================================
                           [10:33:55] Persons 
    ------------------------------------------------------------------
    {
      "name": "Bob",
      "age": 22
    }
    ==================================================================
    

    Clone Repo

    # Download funclib repo
    $ git clone https://github.com/CN-Tower/funclib.js.git
    
    # Install dependency
    $ npm install
    
    # Start
    $ npm start
    
    # Do Try
    $ npm run usage
    
    # Build
    $ npm run build
    
    # Test
    $ npm run test
    

    Methods

    ==================================================================
    * [c]: Client side method 客户端方法
    * [s]: Server side method 服务端方法
    * [-]: Common method      服务端和客户端通用的方法
    ------------------------------------------------------------------
     ## Type
     * fn.typeOf                [-] 检查值的类型
     * fn.typeVal               [-] 获取期望类型的值
     ## Array
     * fn.array                 [-] 返回指定长度和默认值的数组
     * fn.range                 [-] 返回一个范围数组
     * fn.toArr                 [-] 值数组化
     * fn.indexOf               [-] 寻找值在数组中的索引
     * fn.find                  [-] 根据条件寻找值
     * fn.filter                [-] 根据条件取过滤值
     * fn.reject                [-] 根据条件过滤值
     * fn.contains              [-] 判断数组是否包含符合条件的值
     * fn.drop                  [-] 去掉空数组空对象及布尔化后为false的值
     * fn.flatten               [-] 把有结构的数组打散,减少层数
     * fn.pluck                 [-] 把结构中的字段取出合并到一个数组中
     * fn.uniq                  [-] 去重或根据字段去重
     * fn.each                  [-] 遍历数组或类数组, 同: fn.forEach
     * fn.forEach               [-] 遍历数组或类数组
     * fn.sortBy                [-] 返回对象数组根据字段排序后的副本
     ## Object
     * fn.len                   [-] 获取对象自有属性的个数
     * fn.has                   [-] 判断对象是否存在某自有属性
     * fn.get                   [-] 返回对象或子孙对象的属性,可判断类型
     * fn.keys                  [-] 返回对象的键值数组
     * fn.pick                  [-] 获取对象的部分属性
     * fn.extend                [-] 给对象赋值,可指定字段
     * fn.forIn                 [-] 遍历对象的可数自有属性
     * fn.deepCopy              [-] 深拷贝数组或对象
     * fn.isEmpty               [-] 判断对象是否为空对象或数组
     * fn.isDeepEqual           [-] 判断数组或对象是否相等
     ## Math
     * fn.random                [-] 返回指定范围的随机数
     * fn.gid                   [-] 返回指定长度的随机ID
     * fn.gcolor                [-] 返回一个随机色值
     ## Time
     * fn.interval              [-] 循环定时器
     * fn.timeout               [-] 延时定时器
     * fn.defer                 [-] 延迟执行函数
     * fn.time                  [-] 返回一个时间戳, 同:fn.timestamp
     * fn.timestamp             [-] 返回一个时间戳
     * fn.asUtcTime             [-] 转化为相同时间的UTC时间戳
     * fn.asXyzTime             [-] 转化为相同时间指定时差的时间戳
     * fn.fmtDate               [-] 获取格式化的时间字符串
     * fn.fmtUtcDate            [-] 获取格式化的UTC时间字符串
     * fn.fmtXyzDate            [-] 获取格式化指定时差的时间字符串
     ## String
     * fn.match                 [-] 字符串匹配
     * fn.pretty                [-] 转换成格式化字符串
     * fn.escape                [-] 编码HTML字符串
     * fn.unescape              [-] 解码HTML字符串
     * fn.capitalize            [-] 字符串首字母大写
     * fn.fmtCurrency           [-] 格式化显示货币
     * fn.maskString            [-] 编码字符串或其子串
     * fn.cutString             [-] 裁切字符串到指定长度
     * fn.parseQueryStr         [-] 解析Url参数成对象
     * fn.stringifyQueryStr     [-] 把对象编译成Url参数
     ## RegExp
     * fn.setPattern            [-] 设置一个正则表达式
     * fn.getPattern            [-] 获取一个通用的正则表达式
     * fn.testPattern           [-] 用一个或几个通用正则测试
     * fn.matchPattern          [-] 与一个或几个通用正则匹配
     ## Function
     * fn.restArgs              [-] 获取函数的剩余参数
     * fn.throttle              [-] 节流函数
     * fn.debounce              [-] 防抖函数
     ## Loger
     * fn.chalk                 [s] 返回带颜色的字符串
     * fn.print              [c][s] 在控制台打印值
     * fn.log                [c][s] 在控制台打印格式化的值
     ## Element
     * fn.fullScreen            [c] 全屏显示一个HTML元素
     * fn.exitFullScreen        [c] 退出全屏显示
     * fn.checkIsFullScreen     [c] 检测是否处理全屏状态
     * fn.fullScreenChange      [c] 检测是否全屏状态
     ## Tools
     * fn.rd                    [s] 读文件
     * fn.wt                    [s] 写文件
     * fn.cp                    [s] 复制文件夹和文件
     * fn.mv                    [s] 移动文件夹和文件
     * fn.rm                    [s] 删除文件夹和文件
     * fn.mk                    [s] 创建文件夹
     * fn.size                  [s] 获取文件的大小
     * fn.clear                 [s] 控制台清屏
     * fn.copyText              [c] 复制文本到粘贴板
     ## Progress
     * fn.progress              [s] 进度显示工具
     * fn.progress.stop         [s] 停止进度,结束后触发回调
    ## Tricks
     * fn.noConflict            [-] 释放fn变量占用权
     * fn.version               [-] 返回当前函数库版本
     * fn().method              [-] 使用OOP风格的调用
    ==================================================================
    

    Structure

    funclib.js
    ├── node_modules/           ### You know the drill...
    ├── script                  ### 脚本
    │   ├── build.js            # 构建脚本
    │   ├── karma.conf.js       # Karma测试框架配置
    │   ├── pre-build.js        # 构建配置脚本
    │   └── test.js             # 测试配置脚本
    ├── src                     ### Source code
    │   ├── funclib.core.js     # 通用版
    │   ├── funclib.js          # 未压缩版客户端版
    │   ├── funclib.min.js      # 压缩版客户端版
    │   ├── index.d.ts          # 定义文件
    │   ├── index.js            # 服务端版
    │   ├── package.json        # 库模块定义
    │   └── README.md           # Read this FIRST :)
    ├── test                    ### 测试
    │   ├── client-methods/     # 客户端版测试用例
    │   ├── core-methods/       # 通用版测试用例
    │   ├── server-methods/     # 服务端版测试用例
    │   ├── fn-core.js          # 通用版测试文件
    │   └── fn-index.js         # 服务端版测试文件
    ├── .coveralls.yml          # 测试覆盖率
    ├── .editorconfig           # Set coding style (indents, charset, etc.)
    ├── .gitignore              # You know the drill...
    ├── .travis.yml             # CI配置
    ├── LICENSE                 # 授权说明
    ├── package-lock.json       # NPM Lock
    ├── package.json            # 库配置
    ├── README.md               # Read this FIRST :)
    ├── tsconfig.json           # Typescript配置
    ├── usage.html              # 客户端试验
    └── usage.js                # 服务端试验
    
    展开全文
  • 然而他们他们有一个共同的特点:都是通过抽象的Javascript函数式能力来增进代码的重用行、可读性和健壮性。 然而直到写这本书的时候,还没有一个函数成为事实上的标准。有人可能会说underscore.js是, ...
  • Underscore——JS函数库

    2019-10-06 22:54:15
    underscore是什么——它是一个js函数库 jQuery统一了不同浏览器之间的DOM操作的差异,让我们可以简单地对DOM进行操作,而underscore则提供了一套完善的函数接口,让我们更方便地在JavaScript中实现函数式编程。 ...
  • 1.不发布到npm工具函数 1.1开发:开发-工具函数-ES6. 1.2打包:打包-工具函数-ES5-非. 2.发布到npm工具函数 2.1开发:开发-工具函数-ES6. 2.2打包:打包-工具函数-ES5-. 2.3发布:打包-工具函数-ES5-. ...
  • 本文实例讲述了JS co 函数库的含义和用法。分享给大家供大家参考,具体如下: 继续学习阮一峰老师异步编程四部曲之三:co co在很早之前就听超哥讲过,说在node编程中大量用到,源码很简单,但是想法很强大。 让我...
  • 现在Javascript库海量,流行的也多,比如jQuery,YUI等,虽然功能强大,但也是不万能的,功能不可能涉及方方面面,这里给大家分享一个的JS库是对这些的补充,很多也比较实用,把应用到项目中中去也比较方面,这也是...
  • 前言 最近在看Vue_shop实战项目-电商管理系统(Element-UI)的B站视频,看到...Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库,其官网地址为:https://www.lodashjs.com/,Github托管地址为:https://gi...
  • 前端开发中常常会遇见ie版本兼容性问题,为了统一解决在开发中遇见的各种元素获取问题和一些样式获取问题,封装函数工具包,使用时调用工具包。
  • 官网:UnderScore.js待总结
  • jQuery在1.3.6版本开始就引入了JavaScript库兼容机制,即在同一个页面可以使用多个JavaScript库。 一般来说,$变量易发生冲突,因为在不同JavaScript库中都使用了$标识符,但是它们在不同的中所表示的语义是不同...
  • 小型,用于通过平移和缩放在画布元素中绘制2D数学JavaScript函数。 作为简单功能绘图仪实用程序的一部分编写的( ) 由Stephan Soller提供 ,根据MIT许可证发布。 特征 您可以直接在JavaScript中编写函数。 对于...
  • JS 常用工具库

    千次阅读 2018-03-29 16:17:04
    Eris(庞大的各种JS小工具)Lodash(是一个具有一致接口、模块化、高性能等特性的 JavaScript 工具库)Moment(时间格式化工具)Axios (各种请求的工具:vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是...
  • js工具函数

    2016-05-26 18:56:09
    这个函数之前在哪本书上看见过忘记了,最近在读sea.js源码,又发现了它,觉得挺好的,记录下吧。功能是判断变量类型的。typeof 判断null 时返回结果是objectfunction isType(type) { return function(obj) { ...
  • :rocket: nutils-js 是我封装的一个模块化、高性能的 JavaScript 实用工具库。 前端开发中经常会遇到Array、Object、String、Number等数据处理,或者是防抖节流函数等性能优化亦或是 URL 参数处理、类型判断等等操作...
  • JS异步之co函数库

    千次阅读 2017-07-04 19:01:14
    以下是《深入掌握 ECMAScript 6 异步编程》系列文章的第三篇。...co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行。比如,有一个 Generator 函数,用于依次读取两
  • time.js 时间函数库

    千次阅读 2019-06-20 01:29:11
    最近自己写了个时间函数库,虽然还不算完善,但是我能想到的功能基本都实现了。感兴趣的可以看下。 使用 npm install time-operation --save 复制代码文档 一、工具方法 函数: getCurrentTimeStamp() 功能: 获取...
  • basePackage -js开发常用函数js从零开发有多难? 实际操作中其实很多代码都会重复用到,比如ajax的操作,dom的操作等等,如果不想每次去重复写这部分的代码也不想使用类似jquery的框架,这个...util: 常用的工具库

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,485
精华内容 52,594
关键字:

js函数工具库