Tam metin 2491 Kelimeler, tahmini öğrenme süresi 8 dakika
Kaynak: Pexels
Tarayıcıyı algıla, işlev türünü algıla, kısa çizgiyi camelCase'e dönüştür, dizedeki HTML etiketlerini sil ve dizeyi ters çevir, vb.
Bugün Xiaoxin, verimliliği artırmaya yardımcı olabilecek 7 JavaScript Yardımcı Programı işlevini sizinle paylaşacak. Kullanışlı bulursanız, yer imlerine ekleyin ve paylaşın ~
Farklı tarayıcıların farklı navigator.useragent'i vardır ve tarayıcı türü, değeri kontrol edilerek tespit edilebilir.
Örneğin:
Mac OS'de Chrome
Bu çıktıda bir "krom" dizesi var.
Mac OS'de Firefox
Bu çıktıda bir "firefox" dizesi var.
Bu nedenle, tarayıcı türünü algılamak için yalnızca navigator.useragent içinde bir tarayıcı markası olup olmadığını kontrol etmeniz gerekir.
const inBrowser = typeof pencere! == 'tanımsız' // kullanıcı aracısını al constUA = inBrowser window.navigator.userAgent.toLowerCase () // tarayıcıyı algıla const isIE = UA / msie | trident / .test (UA) const isIE9 = UAUA.indexOf ('msie 9.0') > 0 const isEdge = UAUA.indexOf ('kenar /') > 0 const isChrome = UA / chrome \ / \ d + /. test (UA)! isEdge const isPhantomJS = UA / phantomjs / .test (UA) const isFF = UAUA.match (/ firefox \ / (\ d +) /) // işletim sistemini algıla const isAndroid = UAUA.indexOf ('android') > 0 sabit isIOS = UA / iphone | ipad | ipod | ios / .test (UA)İki tür işlev vardır:
· Çalışma zamanı ortamı tarafından sağlanan yerel işlevler. Örneğin, Array.isArray, console.log.
· Kullanıcı tarafından yazılan işlevler
Bazı karmaşık durumlarda, bu iki işlev türünü birbirinden ayırmak gerekebilir.
Öyleyse, kodda bu iki tür işlev nasıl ayırt edilir? Çok basit, bir dizeye dönüştürüldüklerinde farklı sonuçlar çıkarırlar.
Yerel işlev
Kullanıcı işlevi
Yerel işlev bir dizeye dönüştürüldüğünde, çıktı sonucu her zaman yerel kodu içerir.
Bundan aşağıdaki fonksiyon yazılabilir:
functionisNative (func) { returntypeof func === 'işlev' / yerel kod / .test (func.toString ()) }Merhaba dünya dize stilini merhabaDünya dize stiline dönüştürmek çok yaygın bir gereksinimdir. Bunun için düzenli ifadeler kullanılabilir.
- işaretinden sonraki tüm küçük harfleri eşleştirmek için / - (\ w) / g tuşunu kullanabilir ve ardından bunları değiştirmek için büyük harf kullanabilirsiniz.
functioncamelize (str) { const camelizeRE = / - (\ w) / g; dönüş str.replace (camelizeRE, (_, c) = > c? c.toUpperCase (): ''); }Güvenlik nedeniyle, genellikle HTML etiketlerinin dizeden kaldırılması gerekir. Bu görev, basit bir düzenli ifade kullanılarak kolayca gerçekleştirilebilir.
conststripHTMLTags = str = > str.replace (/ < * > / g, '');Ters dizeler çok yaygın bir gereksinimdir. Bunu yapmak için, bir dizeyi bir diziye bölebilir, ardından diziyi tersine çevirebilir ve birleştirebilirsiniz.
conststripHTMLTags = str = > str.replace (/ < * > / g, '');Daha büyük bir sayının okunmasını kolaylaştırmak için genellikle sayıların arasına bazı ayırıcılar eklenir.
· 111111 = > 111.111
· 123456789 = > 123.456.789
Genellikle her üçüncü basamağa bir virgül eklenir.
functionnumberToStringWithComma (sayı) { // sayıyı dizeye dönüştür let str = String (sayı); let s = ''; let say = 0; for (let i = str.length-1; i > = 0; i--) { s = str + s say ++ // her üç sayıya bir virgül ekleyin eğer (sayı% 3 == 0 i! = 0) { s = ',' + s } } İadeler }Bir bilgisayarda, bir dosyanın boyutu genellikle bayt cinsinden ölçülür. Ama büyük bir sayı ise, insanlar tarafından okunamaz.
Örneğin, 98223445B numarasını ilk kez gördüğünde, insanların herhangi bir sezgisel duyguya sahip olması zordur. Ancak 93.7MB kullanırsanız, ona çok aşina olacaksınız. Bu yüzden büyük sayıları okuması kolay bir fonksiyon yazmanız gerekir.
functionbytesToSize (bayt) { eğer (bayt === 0) '0 B 'döndürür; var k = 1024; var boyutları = var i = Math.floor (Math.log (bayt) / Math.log (k)) return (bayt / Math.pow (k, i)). toPrecision (3) + '' + boyutları }Okuduğunuz için teşekkürler, size yardımcı olmayı umuyorum ~
Kaynak: Pexels
Yorum Beğen Takip Et
Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun