常用的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技巧大放送 学习jquery的朋友可以看下
Oct 14 Javascript
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
JS中使用sort结合localeCompare实现中文排序实例
Jul 23 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
Bootstrap面板使用方法
Jan 16 Javascript
AngularJS自定义指令详解(有分页插件代码)
Jun 12 Javascript
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
Vue2.0 事件的广播与接收(观察者模式)
Mar 14 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 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分页思路以及在ZF中的使用
2012/05/30 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
广告显示判断
2006/08/31 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
优秀毕业生推荐信
2013/11/02 职场文书
前台文员我鉴定
2014/01/12 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
保护动物的标语
2014/06/11 职场文书
督导岗位职责范本
2015/04/10 职场文书
2015年营业员工作总结
2015/04/23 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书