JavaScript
JS関連ツールのメモ
JS関連のライブラリメモ
技術編
記法関連
Getter, Setter
ゲッターとセッターの定義
code:js
const obj = {
_value: 10,
get value() { return this._value; },
set value(v) { this._value = v; }
};
obj.value = 20;
console.log(obj.value); // => 20
Array
コレクションAPI参照
Object
要素数の取得
const len = Object.keys(obj).length
Objectのループ
code:js
for(key in obj){ console.log(objkey); }
for in 句は非推奨
Objectから要素を削除
delete
code:js
var obj = {hoge: 'hello!'}
delete obj.hoge
obj.hoge // undefined
メモリが解放される訳ではない(GCを待つ必要がある
型検査
jsの型検査はかなりややこしい
参考:https://qiita.com/amamamaou/items/ef0b797156b324bb4ef3
table:型検査サマリ
標準データ型 typeof instance == "something"
Array Array.isArray(instance)
NaN isNaN(instance)
独自クラス instance instanceof class
Javascriptで日付の加減算
Javascriptでfloat2intの切り捨てなど
ブラウザJS関連
GETパラメタの取得
code:js
var paiers = location.search.substring(1).split('&');
for(var i=0; i < paiers.length; i++){
var keyValue = paiersi.split('=');
}
応用編:javascriptでGETパラメタを取り扱う
一つのイベントに複数の処理を紐付け
【JavaScript入門】onloadイベントの使い方とハマりやすい注意点とは | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
code:js
window.addEventListener('load', function() {
console.log('リンゴ');
})
window.addEventListener('load', function() {
console.log('バナナ');
})
window.addEventListener('load', function() {
console.log('メロン');
})
JavascriptでDOMの削除
ライブラリを使わない素のJavaScriptでDOM操作 - Qiita
code:js
//特定の子要素削除
element.removeChild(child);
//自分を削除
element.parentNode.removeChild(element);
//子要素を全て削除
while (element.firstChild) element.removeChild(element.firstChild);
//子要素を全て削除(part2)
element.textContent = null;
// jQueryはこう
$("#button").on("click", function(){
$("#parent").remove();
});
contenteditable属性
HTMLを直接編集できるようにするなにがし
君はHTML5の contentEditable 属性を知っているか | Tips Note by TAM
ContentEditable のハマりどころと対処法 - ボクココ
javascript contenteditable の要素から change イベントを発火する
JQuery備忘録:あまりないcontenteditableなtableのフォーカス制御的なやつ - Qiita
302 Found
LINE BLOGアプリ開発で contenteditable と戦った話 - LINE ENGINEERING
javascriptのthis
JavaScript の this を理解する多分一番分かりやすい説明 - Qiita
基本的にはレシーバを指しているものと考える。
文字列<->数値変換
文字列から数値へ変換。文字列から数値だけを取り出す。 - Qiita
code:文字列->数値
parseInt('10px'); // 10
parseInt('ab123'); // NaN
parseInt('010'); // 8
parseInt('010',10): // 10
parseInt('0x10'); // 16
code:数値->文字列
10+'' // '10'
10.toString(); // for 10.toString().indexOf('1');
JSDocの資料
[JSDocコメント - Google JavaScript スタイルガイド - 日本語訳 https://www38.atwiki.jp/aias-jsstyleguide2/pages/14.html
JSDoc で JavaScript のコメントを書こう | スターフィールド株式会社
画面サイズ周りの取りまとめ
使う関数に応じてどこが取れるのか変わってくるらしい
ウインドウサイズを取得する 【JavaScript 動的サンプル】
インスタンスがあるかつtrueのGuard句の定型文
code:js
var hoge = false;
// hogeが未定義、またはhogeがfalseの場合通過
// => hogeが定義済みかつhogeがtrueの場合弾く
if(hoge != null && hoge) return;
・・・・・if(hoge !== true) return;で良くね?
JavaScript・jQueryの改修・高速化のためのメモ - Qiita