JavaScript

【めも】Browsersyncでサーバーを起動するまで

browsersync.io プロジェクト用ディレクトリで作業する。 $ npm init # 全てEnterでOK $ npm install -D browser-sync package.json の修正。 { ... "scripts": { ... "start": "browser-sync start --server --files='./*.html, ./*.css'" } } 以下のコマン…

【JavaScript】jQueryを使わずに属性操作系の処理を書く

HTML <div id="main" class="foo"> <a href="#piyo" class="piyo">PIYO</a> <input type="text" name="name" size="40" class="hoge"> </div> JavaScript // 指定要素について特定の名前の属性値を取得 document.querySelector('#main').getAttribute('class'); // foo document.querySelector('.piyo').getAttribute('href'); // #piyo // 属性追加…

【JavaScript】jQueryを使わずにclass属性を操作する処理を書く

例えば、 <div id="main" class="foo bar"> </div> こんな感じのHTMLに対して処理を書くとき。 // クラスを追加 document.getElementById('main').classList.add('piyo'); // document.querySelector('.foo').classList.add('piyo'); でも同じ処理になる // 以下同様 // クラスを削除 document.get…

【JavaScript】jQueryを使わずに要素取得系の処理を書く

// 指定したIDに合致する要素を取得 // $('#id')[0]; と同値 document.getElementById('id'); // 指定したセレクタに合致する要素を取得 // $('.class')[0]; と同値 document.querySelector('.class'); // html要素を取得 document.documentElement; // body…

【Vue.js】axiosを使って取得したデータをバインドして描画する

github.com axiosをCDNで読み込んでおく。 v-on ディレクティブを使ってクリックイベントをハンドリングする。 省略記法を使っているので @click となっている。 また v-for ディレクティブを使って取得したデータを描画できるようにしておく。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>タイトル</title> </head></html>…

JavaScriptで半角/全角カナを相互変換するには

というわけで作りました、半角/全角カナの相互変換モジュール。 ググったら実装方法は色々あるのだけれど自学も兼ねて車輪の再発明。 記号系やスペース、長音符は未対応なんですけど、createKanaMapメソッドの引数(L.22~30辺り)に、対になる文字をそれぞ…

JavaScriptのループについて(配列編)

はい、前回の続きです。 配列の場合 配列のループ方法で調べるとこういう議論もあったりしますが。 JavaScriptで配列をループで処理するベストな書き方は?まず、for...inは避けましょうっていう傾向はあるみたい。 Effective JavaScriptでも配列の反復処理…

JavaScriptのループについて(オブジェクト編)

JavaScriptのオブジェクトや配列のループはどうやるのがベストなんだろうって考えてました。 オブジェクトの場合 おそらくfor...inが一般的かと。 var myObj= { hoge: 'HOGE', fuga: 'FUGA' }; for(var key in myObj) { console.log(key + ':' + myObj[key])…

callで関数を即時実行すると何が嬉しいのか(と、ちょっとおまけ)

callを使うとstrictモードのときに嬉しい underscore.js(1.6.0)とかって全体を即時関数でラップするときに、ただの括弧じゃなくてcallを使ってるんですよね。 これなんでやろ?と思って調べたら、strictモードを有効にしたときに即時関数内のthisがundefined…