常用的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 For Beginners(转载)
Jan 05 Javascript
JavaScript库 开发规则
Jan 31 Javascript
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
node.js中的fs.createReadStream方法使用说明
Dec 17 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
Nov 17 Javascript
js拖拽的原型声明和用法总结
Apr 04 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
Oct 10 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
Vue DevTools调试工具的使用
Dec 05 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 第二节 数据类型之数组
2012/04/28 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
js left,right,mid函数
2008/06/10 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
微信小程序实现底部导航
2018/11/05 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Mac 上切换Python多版本
2017/06/17 Python
Python subprocess库的使用详解
2018/10/26 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
Python删除n行后的其他行方法
2019/01/28 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
Java的基础面试题附答案
2016/01/10 面试题
面试后感谢信
2014/02/01 职场文书
仓管员岗位责任制
2014/02/19 职场文书
政治思想表现评语
2014/05/04 职场文书
施工安全汇报材料
2014/08/17 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
信仰观后感
2015/06/03 职场文书
小时代观后感
2015/06/10 职场文书
安全生产学习心得体会
2016/01/18 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书