常用的js方法合集


Posted in Javascript onMarch 10, 2017

数组及对象深拷贝

var arr = [1,'2',{a:1,b:[1,2]}];
function deepCopy(p, c) {

 var c = c || {};


 for (var i in p) {



 if (typeof p[i] === 'object' && p[i] !== null) {
c[i] = (p[i].constructor === Array) ? [] : {};

deepCopy(p[i], c[i]);



 } else {



 
  c[i] = p[i];



 }


 }


 return c;

}
var cArr = deepCopy(arr);
console.log(cArr);

获取地址栏参数

function getUrlParam(){
 var _arr = location.search.substr(1).split('&');
 var _obj = {};
 for (var i = 0; i < _arr.length; i++) {
 _obj[_arr[i].split('=')[0]] = _arr[i].split('=')[1]
 };
 return _obj;
}
console.log(getUrlParam());

修改微信title 兼容ios

function changeWxTitle(text){
 var $body = $('body');
 document.title = text;
 var $iframe = $('<iframe src="/favicon.ico"></iframe>');
 $iframe.on('load',function() {
 setTimeout(function() {
  $iframe.off('load').remove();
 }, 0);
 }).appendTo($body);
}

移动端响应式样式

/* 方法使用后会在 head标签添加一个style标签 并且有.my-resize 和 .no-resize的样式,需要适配屏幕的元素加上.my-resize类名即可,.no-resize是还原已适配的元素
 * window.onload = window.onresize = function(){
 *   pageResize({
 *     width : '320',   //默认宽320px 
 *     height : '504',   //默认高504px
 *   })
 *  }
 */
(function pageResize(opt) {
  var ua = navigator.userAgent,
    wp = ua.match(/Windows Phone ([\d.]+)/),
    android = ua.match(/(Android);?[\s\/]+([\d.]+)?/),
    // 设备宽高初始比例
    dw = document.documentElement.clientWidth,
    dh = document.documentElement.clientHeight,
    ds = dw / dh,
    // 页面宽高初始比例
    opt = opt || {},
    pw = opt.width || 320,
    ph = opt.height || 512,
    ps = pw / ph;
    // 核心代码:页面缩放比例
    var sx = dw/pw,
      sy = dh/ph; 
    var css = '.no-resize { -webkit-transform: scaleY('+sx/sy+');transform: scaleY('+sx/sy+'); }.my-resize { width:'+pw+'px !important;height:'+ph+'px !important;-webkit-transform: scale('+sx+','+sy+');transform: scale('+sx+','+sy+'); -webkit-transform-origin:left top;transform-origin:left top;}',
    head = document.getElementsByTagName('head')[0],
    style = document.createElement('style');
    style.type = 'text/css';
    if(style.styleSheet){
      style.styleSheet.cssText = css;
    }else{
      style.appendChild(document.createTextNode(css));
    }
    head.appendChild(style); 
})()

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery ready函数源代码研究
Dec 06 Javascript
运用jQuery定时器的原理实现banner图片切换
Oct 22 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 Javascript
vue-cli3+typescript初体验小结
Feb 28 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 Javascript
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 19 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 #Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 #Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 #Javascript
js实现产品缩略图效果
Mar 10 #Javascript
BootStrap注意事项小结(五)表单
Mar 10 #Javascript
微信小程序 弹框和模态框实现代码
Mar 10 #Javascript
BootStrap表单宽度设置方法
Mar 10 #Javascript
You might like
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
pytorch之添加BN的实现
2020/01/06 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
python实现控制台输出颜色
2021/03/02 Python
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
大学生职业生涯规划书模板
2014/01/03 职场文书
小学生倡议书范文
2014/05/13 职场文书
实训报告范文大全
2014/11/04 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
政协工作总结2015
2015/05/20 职场文书
导游词之镜泊湖
2019/12/09 职场文书