Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前の本やウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい
JavascriptからGoogle Spreadsheet上のデータを取得したい場合など、JavascriptからGoogle Apps Scriptにアクセスする方法を調べていて、結構いろいろあったのでメモ。 JavascriptからGoogle Apps Scriptへのアクセスには、httpリクエストを使ったので、クロスドメインの問題を考慮する必要があった。 クロスドメインの回避方法はいくつかあるが、結論としてはJSONPを使えば問題ない。 以下サンプルコード。 ●Javascript側 var script = document.createElement('script'); script.src = "https://script.google.com/macros/s/xxxxx/exec?callback=callbackFunction"; window.callbac
Ajax 関係の jQuery の命令は全て $.ajax() を元に出来ています。$.get や $.post もこれをベースにした短縮命令です。これをネイティブに書き換えます。 $.ajax は jQuery のバージョンによって書き方が色々ありますが、おそらく一番使われているだろう書き方で対応していきます。 詳しくは 脱jQuery その1 をご覧ください。 $.ajax()(GET) $.ajax({ url: "test.php", type: "GET", data: {id: "aaa", id2: "bbb"}, success: function(data, status, xhr) { alert("OK"); //通信成功時 }, error: function(xhr, status, error) { alert("NO"); //通信失敗時 }, complet
YosemiteからAppleScriptがJSでも書けるようになりました。JavaScript for Automation(JXA)と言われているやつです。 昔書いたAppleScript をJXAで書き直してみたところ、これどうやるんだ……が減って便利〜。 var BathyScape = Application('BathyScaphe'); var selectedText = formatText(BathyScape.documents[0].selectedText.get()); var threadTitle = BathyScape.documents[0].threadTitle.get(); var threadURL = BathyScape.documents[0].threadURL.get(); var app = Application.currentA
JavaScriptを書いていたらブラウザがくっそ重くなる症状に出くわした。あぁ、噂のメモリリークですわ。 先人の知恵に頼るマン。それっぽい記事が見つかる。 javascriptのメモリリーク対策(随時更新) - Qiita Shibu’s Diary: JavaScriptのメモリリークを10倍速で発見する Taming The Unicorn: Easing JavaScript Memory Profiling In Chrome DevTools Writing Fast, Memory-Efficient JavaScript - Smashing Magazine angularjs - How to catch memory leaks in an Angular application? - Stack Overflow 上の記事はProfiles + Take Heap
javascriptで、現在時刻から大体5分後で「5分間隔」のタイムススタンプを取得するコード 例1)現在時刻2013/12/31 11:50 → 2013/12/31 11:55のタイムスタンプ 例2)現在時刻2013/12/31 11:51 → 2013/12/31 11:55のタイムスタンプ 例3)現在時刻2013/12/31 11:56 → 2014/01/01 00:00のタイムスタンプ 例のようにタイムスタンプを変換するコード、関数、ライブラリなど、どなたか知りませんか?
ニコニコのJSを眺めていたら、おもしろいコードがあったのでメモする。 マイページで読み込まれるmy3.jsの236行目*1 var ts = new Date/1000|0; まず、new Date/1000 。 getTime() を書かなくても、勝手にミリ秒にしてくれるとは知りませんでした。 >>> new Date/1000 1234567890.123 // 上と同じ >>> (new Date).getTime()/1000 1234567890.123 掛け/割り/引き算は数値として扱われるけど、 足し算だと文字列(Date.toString()した値)として扱われるっぽい。 >>> new Date*1 1234567890123 >>> new Date/1 1234567890123 >>> new Date-0 1234567890123 >>> new Date+0
閲覧には Mozilla FireFox、Google Chrome、もしくは Gecko、Webkit を利用したブラウザを推奨します。 Internet Explorer 6~8 では表示できない部分があります。 作成に至る発端 Log4js もあるが、ほとんどデバッグ目的のログ出力なので、console.assert や console.dir、可変長引数の console.log で出力する事が多い。 文字列のみを出力する Log4js はオブジェクトや、XMLの出力において、console での出力に圧倒的に劣る。 また、Log4js自体のファイルサイズも大きい。 しかし、console は、ログ出力レベルを指定して出力をコントロールするといった機能が無い。 そんな事を考えていると、以下の記事が目に入り、ライブラリを作るかという事になった。 挫折 難しくないだろうと、こんなコード
localStorage のパフォーマンスについて考察したブログエントリがhtml5jのMLで紹介されたので読んでみた。 現在、JavaScriptコードのインストーラとして活用してるので、気になった次第。 *** localStorageのパフォーマンス問題を再び考えてみる http://www.nczonline.net/blog/2012/04/25/the-performance-of-localstorage-revisited/ まとめとしては、「あんまり気にすんなよ、でも、でかいデータを保存するのはNGな」って感じでした。 リンク先(NCZOnline)も読んだら、「同期的に呼び出すので、大きなサイズだと、JavaScriptの他の処理が止まる」という事が書かれてた。まぁ、紹介されてる通り、でかいデータ保存はNGということ。 冒頭で述べた通り、インストーラに使ってる体験談を:
var array1 = [10, 20, 30, 40, 50]; var target = 30; //要素を削除する array1.some(function(v, i){ if (v==target) array1.splice(i,1); }); console.log(array1) //=> [10, 20, 40, 50]; /* * 連想配列から特定の要素を排除したいときにも便利 */ var array2 = [ {id:1, name:"hoge"}, {id:2, name:"test"}, {id:3, name:"hello"}, {id:4, name:"world"}, {id:5, name:"hoge"}, {id:6, name:"test"}, {id:7, name:"hello"} ]; var targetId = 3; array2.some
JavaScriptまたはjQueryを使い、html要素が存在するかどうか調べる方法はいくつかあります。 jQueryを使ったやり方については、こちらで5つの方法が紹介されています。以下は三項演算子で短く書きなおしたものです。 ( $("selector")[0] )? "有" : "無"; ( $("selector").length > 0 )? "有" : "無"; ( $("selector").get(0) )? "有" : "無"; ( $("selector").size() )? "有" : "無"; ( $("selector").is() )? "有" : "無"; これに加え、IDが設定されている要素の有無を調べるのなら、jQueryを使わずJavaScriptのみで以下のように書くのも良いでしょう。 ( document.getElementById("id")
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く