常用的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 相关文章推荐
js 立即调用的函数表达式如何写
Jan 12 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
Mar 18 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
原生js实现水平方向无缝滚动
Jan 10 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
vue安装和使用scss及sass与scss的区别详解
Oct 15 Javascript
react 兄弟组件如何调用对方的方法示例
Oct 23 Javascript
小程序wx.getUserProfile接口的具体使用
Jun 02 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实现查看邮件是否已被阅读的方法
2013/12/03 PHP
php日期操作技巧小结
2016/06/25 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
考试退步检讨书
2014/01/15 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
工伤私了协议书范本
2014/11/24 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
2016年寒假家长评语
2015/10/10 职场文书
创业计划书之熟食店
2019/10/16 职场文书