Verimliliği artırmaya yardımcı olan 7 JavaScript Yardımcı Programı işlevi

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 ~

Tarayıcıyı algıla

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)

Algılama işlevi türü

İ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 ()) }

Kısa çizgi harfini camelCase'e dönüştürme

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 (): ''); }

Dizedeki HTML etiketlerini kaldırın

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 dize

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

Numarayı virgül içeren bir dize olarak biçimlendirin

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 }

Bayt birimlerini makul birimlere dönüştürün

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

Bugün Core Voice | Tamamen iptal edildi! Google I / O 2020 Geliştirici Konferansı artık çevrimiçi olarak sunulmamaktadır
önceki
RION - hızlı, kompakt ve evrensel bir veri formatı
Sonraki
AI projeleri yüz binlerce, hatta yüz milyonlarca dolar topladı. Bu girişimlerin "AI aldatmacası" ne kadar saçma?
Sizi gülümsetecek 7 terminal komutu
Yazılım mühendisliği sektörüne ilk girdiğinizde kolayca yapabileceğiniz en büyük hataya düştünüz mü?
Ülkedeki doğu ve batı arterlerinin kesintisiz bağlantısına yardımcı olun Laitai, Qinglan Otoyolu'nun yeniden inşası ve genişletilmesi
Bunun gibi! Weihai Ekonomi Bölge Mahkemesi, mahkeme için mimari tasarım planının onaylanmasının ardından açıkladı
Kırsalda canlanma sürüyorRuşan baharında canlılık ve umut dolu
Chunguang Daren Bir kız ve tecavüz çiçekleri baharda buluşuyor
Bu mesaj biraz çiçektir, burada Rushan'daki çiçekler sizin için açar, onları çabucak eve götürün
"Uluslararası 3 Dakika" suikastı Ortadoğu'yu altüst etti ve dünyayı şok etti
Lao Başbakanı Thong Lun, Çinli şirketleri Laos'ta iş geliştirmeye davet ediyor
Ağrı! Hubei eyaletinden Shandong'dan bir hemşire olan Zhang Jingjing ayrıldı, ancak Afrika'ya yardım eden kocası acele edemedi
Hastanede yalnız kaldığım gece: Duvar ve garip bir kadın çaresizce ağlarken tıbbi kayıtlarda birbirlerini alkışladı
To Top