产生在m、n之间的随机整数


//Math.round()把数四舍五入为最接近的整数。
function random(m, n) {
return Math.round(Math.random() * (n - m)) + m;
}
console.log(random(20,30)) //20--30之间整数

将一个dom元素划分成多个小块生成一个数组

//arrayObject.splice(位置,项目数量,新项目)
//返回值:array(新数组)
//ele.offsetHeight返回元素的高 function(ele,n){ //ele:Dom节点 n:分为多少块
var num = new Array()
for (var i = 0; i < ele.offsetHeight / n - 1; i++) num.splice(i, 0, i);
return num
}
//$("barrage")元素的高是400 //分成20个小块
console.log(block($("barrage"),20))//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

定义一个id选择函数

function $(id) {
return document.getElementById(id);
}
//console.log($("barrage")) //获取id是barrage的dom元素
//其它分装需要自己去探索

二分算法


var arr = [1,2,3,4,5,6,7,8]
function helfSearch(ary,num){
var len = ary.length,
middle = Math.floor(len/2),
mNum = ary[middle];
if(len === 0) return null
else if(mNum === num) return middle;
else if(mNum > num) return helfSearch(ary.slice(0,middle),num);
else return helfSearch(ary.slice(middle+1),num);
}
//查找某个元素在数组中的位置
console.log('我是二分算法')
console.log(helfSearch(arr,1));

判断横竖屏


/**
* 判断横竖屏
* 横屏 return 0
* 竖屏 return 1
*/ export let screen = () => {
let WB = document.documentElement.clientWidth,
HB = document.documentElement.clientHeight;
if (WB > HB) return 0;
else return 1;
}

js提交复选框函数



 //提交复选框中的数据
function getCheckboxVal(ele) {
//获取所有的复选框[ele:所有复选框的css选择器]
let check_ele = document.querySelectorAll(ele);
let check_val = []; //存放复选框val的数组
for (let k in check_ele) {
//筛选出选中复选框的元素,向check_val中push val值
if (check_ele[k].checked) check_val.push(check_ele[k].value);
}
return check_val
}
console.log(getCheckboxVal(.imgbox input[type=checkbox]))

数组中每一项变为number类型


var arr = ["125","445","22","45","68","32","98"];
//使用map方法,也可以使用for循环
arr = arr.map(function(el){return parseInt(el);}); //[125,445,22,45,68,32,98]

数组合并去重排序


let arr1 = [1, 25, 2, 26, 1234, 6, 213];
let arr2 = [2, 6, 2134, 6, 31, 623];
let c = [...new Set([...arr1, ...arr2])].sort((a, b) => {
return a - b;
});

原生操作class


//判断有无
function hasClass(ele, cls) {
return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
} //添加
function addClass(ele, cls) {
if (!this.hasClass(ele, cls)) ele.className += " " + cls;
} //删除
function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
let reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
ele.className = ele.className.replace(reg, " ");
}
}

根据离开页面来改变网页title


(function() {
var OriginTitile = document.title, titleTime;
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
document.title = '死鬼去哪里了!';
clearTimeout(titleTime);
} else {
document.title = '(つェ⊂)咦!又好了!';
titleTime = setTimeout(function() {
document.title = OriginTitile;
},2000);
}
});
})();

js常用方法汇总的更多相关文章

  1. ***js常用方法汇总(源自实际中的项目)

    Q: 400-819-0717转8888,取后四位分机号 A: 方法一: alert("abcdefg".slice(-4));方法二:var str= "abcdefg ...

  2. JS 常用方法汇总(不定期更新)

    /** * 获取当前日期 * @returns {string} */ Common.currentDate = function () { // 获取当前日期 var date = new Date ...

  3. (2)Underscore.js常用方法

    目录 1.集合相关方法        1.1.数组的处理                map(循环,有返回值),将返回的值依次存入一个新的数组                each(循环,无返回值 ...

  4. 常见算法是js实现汇总(转载)

    常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.len ...

  5. oracle教程:PLSQL常用方法汇总

    oracle教程:PLSQL常用方法汇总 在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set ...

  6. 最新Node.js 资源汇总

    Node.js 资源汇总 文档 Node.js 官方文档:http://nodejs.org/api/ Node.js 中文文档:http://nodejs.jsbin.cn/api/ Express ...

  7. JS循环汇总

    JS循环汇总 一.总结 一句话总结:js中的循环主要有while.for.for...in.for...of,循环是,要区别不同的循环对象,比如对象,数组,集合等 while for for...in ...

  8. 微信JS接口汇总及使用详解

    这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...

  9. 调用手机端硬件功能 汇总(android/ios) Native.js示例汇总

    Native.js示例汇总 NJS Native.JS 示例 Native.js虽然强大和开放,但很多web开发者因为不熟悉原生API而难以独立完成.这篇帖子的目的就是汇总各种写好的NJS代码,方便w ...

随机推荐

  1. myeclipse中文编码错误,没有GBK选项

    默认编码是UTF-8,但是导入GBK工程后,直接改为ISO-8859-1,但是还是编码错误. 用网上的: 全局编码设置:编码设置的方法:ToolBar-->Window-->Prefere ...

  2. C#中4种深拷贝方法介绍

    1:利用反射实现 public static T DeepCopy<T>(T obj) {   //如果是字符串或值类型则直接返回   if (obj is string || obj.G ...

  3. SQL2008删除大量数据

    常见问题:工作中数据库难免产生大量的日志,而用户可能关心的只有最近一个月左右的,这些日志占用了服务器磁盘,还可能影响了服务运行效率.甚至在数据库迁移时更因为体积而带来巨大麻烦. 那么,在需要时,删除不 ...

  4. OpenCV学习笔记八:opencv_photo模块

    一,简介: 该库用于数码照片的处理,处于发展中,目前只包含如下算法: //! restores the damaged image areas using one of the available i ...

  5. Hibernate-缓存/懒加载/抓取策略

    懒加载测试: /*类的延迟加载 * * session.get * 1.方法加载出来的对象是class对象 * 2.在session.get方法执行的时候发出sql语句 * 3.class对象是有值的 ...

  6. python学习【第五篇】python函数 (二)

    一.装饰器 装饰器:本质就是函数,功能是为其它函数添加附加功能 装饰器的原则: 不修改被修饰函数的源代码 不修改被修饰函数的调用方式 装饰器的知识储备: 装饰器 = 高阶函数 + 函数嵌套 + 闭包 ...

  7. CODEVS 必做题:3149、2821、1531、3369、1230

    3149 爱改名的小融 2  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Wikioi上有个人叫小融,他喜 ...

  8. c#文件流汇总

    操作文件比较常见,项目中经常出现这样的需求:按每个月自动创建文件,并且向文件里面插入一些数据,那么我们将要分析,文件是否存在的情况:如果存在则直接打开文件流向文件中插入数据,如果不存在,则创建文件再插 ...

  9. JQUERY几个操作action,随意记录

    .click:鼠标单击 .mouseenter 鼠标滑动

  10. iOS 横竖屏适配

    关于横竖屏适配 也没做过,今天读别人的源码,遇到了.为了了解清楚,就系统的学习一下. 一 横竖屏方向枚举 关于横竖屏一共有三种枚举 UIInterfaceOrientation UIInterface ...