Home  >  Article  >  Web Front-end  >  Share a collection of commonly used js methods

Share a collection of commonly used js methods

高洛峰
高洛峰Original
2017-03-12 14:09:271214browse

This article mainly shares knowledge about commonly used js method collections. Has very good reference value. Let’s take a look with the editor below

ArrayandObjectDeep copy

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);

Get address bar parameters

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

Modify WeChat title compatible with ios

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

Mobile responsive style

/* 方法使用后会在 head标签添加一个style标签 并且有.my-resize 和 .no-resize的样式,需要适配屏幕的元素加上.my-resize类名即可,.no-resize是还原已适配的元素
 * window.onload = window.onresize = function(){
 *   pageResize({
 *     width : &#39;320&#39;,   //默认宽320px 
 *     height : &#39;504&#39;,   //默认高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 = &#39;.no-resize { -webkit-transform: scaleY(&#39;+sx/sy+&#39;);transform: scaleY(&#39;+sx/sy+&#39;); }.my-resize { width:&#39;+pw+&#39;px !important;height:&#39;+ph+&#39;px !important;-webkit-transform: scale(&#39;+sx+&#39;,&#39;+sy+&#39;);transform: scale(&#39;+sx+&#39;,&#39;+sy+&#39;); -webkit-transform-origin:left top;transform-origin:left top;}&#39;,
    head = document.getElementsByTagName(&#39;head&#39;)[0],
    style = document.createElement(&#39;style&#39;);
    style.type = &#39;text/css&#39;;
    if(style.styleSheet){
      style.styleSheet.cssText = css;
    }else{
      style.appendChild(document.createTextNode(css));
    }
    head.appendChild(style); 
})()

The above is the detailed content of Share a collection of commonly used js methods. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn