常用的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 相关文章推荐
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
Oct 17 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
简单的jQuery入门指引
Jul 28 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
详解vue-router2.0动态路由获取参数
Jun 14 Javascript
AngularJS 仿微信图片手势缩放的实例
Sep 28 Javascript
微信小程序ibeacon三点定位详解
Oct 31 Javascript
原生js通过一行代码实现简易轮播图
Jun 05 Javascript
javascript实现画板功能
Apr 12 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
原生js实现简单的模态框示例
2017/09/08 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
简单实现python收发邮件功能
2018/01/05 Python
彻底搞懂Python字符编码
2018/01/23 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
python获取整个网页源码的方法
2020/08/03 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
应届毕业生的自我鉴定
2013/11/13 职场文书
租房协议书
2014/04/10 职场文书
生态养殖创业计划书
2014/05/06 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
李白故里导游词
2015/02/12 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
庆元旦主持词
2015/07/06 职场文书