日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常用,好用的js代码

發布時間:2025/3/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用,好用的js代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

記錄看到或者用到的js代碼,長期更新!

判斷是否是正整數

number>>>0 === number-0

解析: number-0 轉換成數字,再通過位移運算(>>>)判斷是否跟原數字相等
補充,這個代碼是有范圍的,當數字> 999999999 的時候就不成立了
原理可以參考這篇文章, 傳送門

安全檢查javascript的類型

function typeOf(o){let _toString = Object.prototype.toString;//列舉基本的數據類型和內置的對象類型let _types = {"undefined" : "undefined","number" : "number","string" : "string","boolean" : "boolean","[object Function]" : "function","[object Array]" : "array","[object Date]" : "date","[object RegExp]" : "regExp","[object Error]" : "error"}return _types[typeof o] || _types[_toString.call(o)] || (o? "object":"null");}

ps: 上述方法適用于基本的數據類型和內置對象,而對于自定義對象是無效的。

判斷是不是數組

function isArray(arr){return Object.prototype.toString.call(arr) === '[object Array]' }

判斷是不是ios系統

function isIOS(){let u = navigator.userAgent;let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端return isIOS; }

轉成字符串

function toString (val) {return val == null? '': typeof val === 'object'? JSON.stringify(val, null, 2): String(val) }

中劃線轉駝峰

function camelize(str){return str.replace(/-(\w)/g, function (_, c) { return c ? c.toUpperCase() : ''; }) }

駝峰轉中劃線

function camelize(str){return str.replace(/\B([A-Z])/g, '-$1').toLowerCase(); }

首字母大寫

function capitalize(str){return str.charAt(0).toUpperCase() + str.slice(1); }

獲取url的query,返回指定key的值

function getUrlQuery(url,key){let querys = url.split('?');if(querys.length<=1){return false;}let reg = /&?([^=]+)=([^&#]+)/g;let obj = {};querys.forEach((query,i)=>{query.replace(reg,function(re,$1,$2){obj[$1]=$2;});})if(obj[key]){return obj[key];}else if(!key){return obj;}else{return false;} }

快速對數據進行降維打擊(多維->一維)

var arr = [[1],[2]]; var arr2 = Array.prototype.concat.apply([],arr); //劃重點 ,這個只能是二維->一維 var arr3 = arr.flat(Infinity); //多維->一維

h5頁面跳轉小程序

var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger"){wx.miniProgram.getEnv((res)=>{if (res.miniprogram) {// 如果在小程序環境中就跳轉wx.miniProgram.redirectTo({url: '.......'});return;}})}

判斷是不是promise對象

function isPromise(val){return (val!==undefined&&val!== null &&typeof val.then === 'function' &&typeof val.catch === 'function') }

軟綁定

不同于硬綁定,軟綁定可以給默認綁定指定一個全局對象和undefined以外的值,那就可以實現和硬綁定相同的效果,同時保留隱式綁定或者顯式綁定修改this的能力!

if(! Function.prototype.softBind){Function.prototype.softBind = function(obj){var fn = this;var curried = [].slice.call(arguments,1);var bound = function(){return fn.apply((!this || this === (window || global)) ?obj : this,curried.concat.apply(curried,arguments));};bound.prototype = Object.create(fn.prototype);return bound;}}

判斷一個字符串一定可以轉成數字

function isNumberic(n){return !Number.isNaN(parseFloat(n)) && Number.isFinite(Number(n)); }

這代碼比你想象中的要難理解許多

轉載于:https://www.cnblogs.com/blogs-xlf/p/10089062.html

總結

以上是生活随笔為你收集整理的常用,好用的js代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。