ほねもにブログ

主にプログラミングをしていて疑問に思ったことや気付いたことを書いていきます。

JavaScript

独自データ属性を使用するメリットがわからない

var e = document.getElementById("foo"); e.bar = "baz"; e.bar; // => baz e.qux = function(){}; e.qux; // => function(){} 要素はオブジェクトなので、このようにプロパティやメソッドを追加できる。それなのに、わざわざカスタムデータ属性を使うのは…

別ドメインへのリクエストが禁止されている理由(未解決)

①XMLHttpRequest オブジェクトを使った方法では、別ドメインにリクエストできない。 ②script 要素を使った方法だと、別ドメインでもリクエストできる。 var request = new XMLHttpRequest(); request.open("GET", "http://other.com/age?name=honemoni", tru…

サーバーをいじれないもどかしさ

とあるネットショップのホームページを作成しているのですが、そこではサーバー側のデータベースにアクセスできません。 ですので商品の配置を自分好みにしたいときは、まずサーバーからHTML文書を取得し、そこから JavaScript で書き換えるという手間を踏ま…

共通部分を一つにするのは楽しい

前回の記事では、if...else 文の中を共通化することができませんでした。しかし、関数型プログラミングの考えを取り入れることで、共通化することができました。 function move(com, i) { _.each(rangeOne(i, com === 0 ? 100 : 0), function(i) { /* 共通部…

関数を入れ子構造にできることの利点

関数の入れ子構造が便利だということを認識したので書いておきます。 function move(com, i) { if (com === 0) { while (i < 100) { // 共通部分 i += 1; } } else { while (i > 0) { // 共通部分 i -= 1; } } } 今までは、このようなコードの共通部分を、mo…

指向の違いとコードの違い

3日前に『JavaScript で学ぶ関数型プログラミング』を購入し、一章と二章を読み終えたのですが、JavaScript の奥深さを再認識し、とても面白く感じています。 // 命令型プログラミング function fizzbuzz(max) { var result = "", i; for (i = 1; i <= max; …