ひよっこPGのブログ

主に、技術メモや英語たまにギター関連のことも書いているブログです。

JavaScript

JS id属性を設定した要素は window.id属性名 としてプロパティ登録されている。

JSで、変数を定義していないのにアクセス出来ていた原因を調べたのがきっかけです。 <input type="hidden" id="isSave" value="true" /> <script> console.log(isSave.value); //=> true (アクセスできる!) </script>FirefoxとChromeではアクセス出来るが IE11では isSaveは定義されていませんとエラーとなる。参考 javascript…

文字列内のエスケープ文字 \等

記事を書いたきっかけ var str = "{0}を入力してください。"; var replacedStr = str.replace(new RegExp('\\{0\\}', 'g'), '名前'); // このように書くこともできる var replacedStr = str.replace(/\{0\}/g, '名前'); なぜ new RegExp('\\{0\\}', 'g') に …

JavaScriptで、オブジェクトのキーを配列にしたい場合

JavaScriptで、オブジェクトのキーを配列として持ちたい場合に、書く処理について書きます。 説明する前の前置き 色を表すオブジェクトをcolor その中に 各色のオブジェクト情報が入っているとします。 var color = { red : { rgb : "255,0,0" その他,色に関…

JavaScriptのfirstChildについて

JavaScriptでHTMLの子ノード取得する時に使用する firstChildについて書きたいと思います。さっそくなんですが一つ問題です。 下記のソースで、2カ所 console.logで値を出力していますがどんな値が出力されるでしょうか? <html lang="ja"> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="test1"> <span id="span1"></span> </div> <div id="test2"><span id="span2"><…</span></div></body></html>

JavaScriptの関数について、復習をかねてアウトプットしてみる。

JavaScriptの関数について、学んだので基本的なことですがアウトプットします。 関数の定義方法 var addFunc = function(a,b){ return (a+b); }; 関数は必ず値を返す。 var func = function(){ }; console.log(func() === undefind); //=> true return文を書…

JavaScriptで、HTML文字列からscriptタグを置き換える正規表現で、二つの違い分かる?

今、スクレイピングを使ったプログラムを趣味で書いています。 それでjquery.xdomainajax.jsというライブラリを使っていて、内部実装を見たりしているのですが scriptタグを置き換える正規表現があり、そこで疑問に思ったことが一個ありました。下記の62行目…

クロージャを使ったフラグの切り替えサンプル

現在、自分は社内WEBシステムの スケジュール機能を作ってます。それで スケジュールが 縦表示 横表示があって それの切り替えボタンを作ったときの 一部を紹介しますJavaScriptで、クロージャというものがあって グローバルオブジェクト汚さないように素人…

UnderScore.js の _.reduceメソッドに焦点をあてて勉強してみる

この記事は、タイトルどおり UnderScore.jsの _.reduceメソッドにカーソルをあてて書いている記事です。 ターゲットとしては、 Underscore.js reduce などで検索して訪問された方を対象にしています。 記事の書く流れ1. _.reduceメソッドの使い方と概要 てっ…

JavaScriptで タグにclassを追加、削除したいとき

// idが "hoge"のタグに class "aaa"を追加 document.getElementById("hoge").className = "aaa"; // idが "hoge"のタグの class を削除 document.getElementById("hoge").className = ""; 参考 element.className - Web API インターフェイス | MDN

setTimeout、setIntervalに指定する関数は出来る限り文字列で渡してはいけない。

○○秒後にある処理を動かしたい場合に使う setTimeout(関数, ミリ秒数) ○○秒間隔である処理を動かしたい場合に使う setInterval(関数, ミリ秒数)この二つの引数に ある処理に当たる 動かしたい処理が書かれた関数を指定します。 その指定方法が2つあります。…

JavaScriptのthisについて自分なりの解釈 その3

前記事 JavaScriptのthisについて自分なりの解釈 その2 - ひよっこPGの技術メモ・英語・ギターのブログ。その3が最後です。 今回のパターンは、thisへ自由なオブジェクトを代入できるパターンを説明してみます。function で宣言した関数 全てで使えるメソ…

JavaScriptのthisについて自分なりの解釈 その2

前記事 JavaScriptのthisについて自分なりの解釈 - ひよっこPGの技術メモ・英語・ギターのブログ。thisは、呼び出される状況によって代入されている値が異なるみたいです。一つ分かったパターンがあるので説明してみます。 コンストラクタ関数内での thisは …

JavaScriptのthisについて自分なりの解釈 その1

JavaScriptでプログラムを書いていると、thisというキーワードを見たことがあると思います。そのthisについて自分なりの解釈を説明してみたいと思います。thisは、実行呼び出し元のオブジェクトを表す変数だと、解釈しています。いくつかプログラムを通して…

ドット記法とブラケット記法について

言語は、JavaScriptです。 オブジェクトにプロパティを設定、取得する方法は二つあるみたいです。 それがタイトルの ドット記法 と ブラケット記法 ドット記法 通常こちらを使用する方が多いと思います。ドット記法で、オブジェクトのプロパティを設定する例…

Nullとundefinedの違い。

Nullは、オブジェクトのプロパティが値を持っていないことを明示的に表すときに使う。 プロパティはあるけど、何らかの値をセットしないといけないそんなときにnullをセットしたりもする。 undefinedは、オブジェクトのプロパティが存在していない時、未定義…

''と""の違い

$a = '123';$b = "123";var a = '123';var b = "123";まず、PHPでは''と""に違いがあります。JavaScriptの場合、特に違いはありません。ただ、Google JavaScript Style Guideでは ''で統一しましょうとは書かれてるみたいです。次は、PHPの''と""の違いにつ…