<ul class="list"> <li><a class="js-btn" href="#sectio01">01</a></li> <li><a class="js-btn" href="#sectio02">02</a></li> </ul> <div class="box"> <section class="section" id="sectio01"> <h2>title01</h2> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum earum iusto saepe, vero beatae. Earum error vel qui tenetur repellendus, in ex praesentium facere dolores cupiditate esse, recusan
文字列とUnicode 「文字列」の章で紹介したように、JavaScriptは文字コードとしてUnicodeを採用し、エンコード方式としてUTF-16を採用しています。 このUTF-16を採用しているのは、あくまでJavaScriptの内部で文字列を扱う際の文字コード(内部コード)です。 そのため、コードを書いたファイル自体の文字コード(外部コード)は、UTF-8のようにUTF-16以外の文字コードであっても問題ありません。 「文字列」の章では、これらの文字コードは意識していなかったように、内部的にどのような文字コードで扱っているかは意識せずに文字列処理ができます。 しかし、JavaScriptのStringオブジェクトにはこの文字コード(Unicode)に特化したAPIもあります。 また、絵文字を含む特定の文字を扱う際や「文字数」を数えるという場合には、内部コードであるUTF-16を意識
Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID
OffscreenCanvas(オフスクリーンキャンバス)はWeb Workers(ウェブワーカー)を使用してWorkerスレッドで描画処理を行える機能です。負荷の高い描画処理をWorkerスレッドに移動することで、メインスレッドの負担が軽くなり、余裕ができます。これによりメインスレッドでスムーズなユーザー操作を実現できるようになり、ユーザー体験の向上が期待できます。本記事ではOffscreenCanvasについて機能と使い方を解説します。 ▲ OffscreenCanvasを使用したデモ。OffscreenCanvasを使用すると、Canvasへの描画負荷が高い場合でもスムーズなユーザー操作とCSSアニメーションの再生を実現できる JavaScriptでマルチスレッドに処理を実行できるWeb Workers OffscreenCanvasの説明の前に、まずはWeb Workersについて
別のエントリで紹介し忘れてた書き方を紹介します。 [Chrome] console.log()の色々な書き方 JavaScriptオブジェクトをconsoleに出力する var obj = { hoge : "hoge", huga : "huga" }; console.log(obj);
I got this code to covert size in bytes via PHP. Now I want to convert those sizes to human readable sizes using JavaScript. I tried to convert this code to JavaScript, which looks like this: function formatSizeUnits(bytes){ if (bytes >= 1073741824) { bytes = (bytes / 1073741824).toFixed(2) + " GB"; } else if (bytes >= 1048576) { bytes = (bytes / 1048576).toFixed(2) + " MB"; } else if (bytes >= 10
Event.currentTargetプロパティとEvent.targetプロパティの違い イベントハンドラやイベントリスナーを登録したあと、イベントが発生すると登録したコールバック関数が呼び出されます。この時、一番目の引数に発生したイベントの情報が格納された Event オブジェクトが渡されてきます。 <input type="button" value="button" id="xxx"> <script> function butotnClick(event){ console.log('Hello'); } let button = document.getElementById('xxx'); button.addEventListener('click', butotnClick); </script>
replaceは最初の検索文字しか置き換わらない replaceメソッドを用いた標準の方法では、一番最初にマッチした文字列のみが置き換えられます。replaceFirst的な挙動ですね。 "a b c".replace(' ', '-') // "a-b c" JavaScriptで文字列を全置換する方法 JavaScriptで文字列を全置換するには、正規表現を用いるか、split join メソッドを組み合わせるテクニックを用いる必要があります。 "a b c".replace(/ /g, '-') // "a-b-c" "a b c".split(' ').join('-') // "a-b-c" 前者がreplaceAll処理に相当する「# 正規表現で文字列を全て置き換える」方法です。 後者は「# split と join で文字列をすべて置換する」テクニックです。 より確実でオスス
こんにちは。ユアマイスター 星(@inase17000)です。 vol.1 に引き続き、前回語りきれなかったことをvol.2でお届けです。 Lighthouseとは? Lighthouse は、ウェブページの品質向上に役立つよう開発された、オープンソースの自動化されたツールです。詳細は前回記事に書いてますのであわせてご覧ください。 yourmystar-engineer.hatenablog.jp 今回は差分のみ記載します。 Audit References - 診断 ①Performance - パフォーマンス Diagnostics Minimize main-thread work JS の解析、コンパイル、実行にかかる時間の短縮をご検討ください。配信する JS ペイロードのサイズを抑えると効果が見込めます。詳細" 必要なJSコードだけを読み込み、実行する JSコードをMinifyす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く