javascript
native object -> ordinary object host object -> exotic object って感じの解釈をよく聞くけど違うと思う。(誰も言ってなかったらごめんなさい) es6上での定義 4.3.6 ordinary object object that has the default behaviour for the essential internal m…
おはようございます。 この記事はJavascript Advent Calender 2014の22日目の記事です。 JavaScript Advent Calendar 2014 - Qiita JavaScript Advent Calendar 2014 - Qiita domenicのツイートをストーキングしてたら、とある話を拾った。 I forgot about t…
Important Announcement Regarding YUI この記事でYUIの積極的なメンテナンスがもうなされないよみたいな話を聞いてYUI Compressorもメンテされなくなるのかなーなんて思って聞いてみたんだけどYUI Compressorの管理は2012年の時点でownershipがかわってたみ…
最近socket.ioがメジャーバージョンになって少しかわって 今まで io.sockets.socket(id).json.emit('msg', send_msg); みたいな感じでかけてたのですがsockets (namespace)がsocketメソッドを持たなくなってて、「 あれ特定ユーザ探す方法なくね」って思って…
今日Firefox29がでてその変更内容の中で 更新された ECMAScript6 仕様草案に準拠するため、Map オブジェクトおよび Set オブジェクトがキーと値の同一性を確認するときは、-0 と +0 を同一として扱うようになりました。 ってかいてるのみて、ほとんど出た当…
元気にインターネットしてたらユーザの入力した値をこんな感じでDOMに埋め込んでるサイトをみつけた <a href='javascript:edit(2,{"a":"どらえもん","b":["×","×"],"c":"ふごふご"},1)'> ほげええ </a> 入力値いろいろかえて遊んでみたらだいたいの文字列はエスケープはされてたけど曰くのU+2028はsyntax errorだしてた Uncaught SyntaxError: Une…
何度目かの聖書(JavaScript: The Good Parts)の輪読会をしてたときに、RegExpの章を担当してくれた子が、「正規表現リテラルから生成される正規表現オブジェクトは内容が同じなら参照も同じになります!」って説明してくれて、「あれ、そうだっけ」って思っ…
不思議ぽよ〜 {} + "" これをコンソールで実行すると0が返るぽよ〜 でもconsole.logでみると普通ぽよ〜 むずかしいぽよ〜 数分後ぽよ〜 解決したぽよ!!!! ただ空文字を数値化してるだけの扱いになってたぽよ!!! +"" // 0 ありがとうございますぽよ〜>< …
DOMContentLoadedの発火とスタイルシートの読み込みは間接的に関係あるらしい MDNのDOMContentLoadedのページみてたら The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheets, im…
untestableなコードを簡単にテスト可能にするモジュール Cuckoo を作りました。以前書いたNodeでプライベートな(exportsされてない)メソッドのテストをパス周りとかmodule周りとかきちんと細かいところまで作ったものです。npmにインストールされてるのでこ…
作ったアプリケーションが突然のエラーに見舞われることなんてざらにありますね。で、エラーが起きたときはすみやかに、おだやかにそのワーカーをヌッコロしたいわけですがその終了作業中になんらかの処理がビジーな感じになって強制killしなきゃいけないこ…
Expressで作ったサイトを動かすとレスポンスヘッダに X-Powered-By:Express こんなのつきます。俺のサイトはNodeだぜ フフンみたいな人はいいんですがいつか脆弱性がみつかったときにしめしめって思われるのもなんだか怖いので消すようにしました。Express3系な…
NodeのファイルスコープについてJSでスコープを有するものは静的なものでfunction, block、動的スコープではcatch, withとそこそこありますが通常の処理系ではファイルスコープなんてものはないです。でもNodeではファイル内でvarと宣言した変数はrequireし…
JavaScriptにおいてもそのほかの言語においても疎結合というのは結構大きなテーマの一つだと思います。そんな疎結合を促す実装としてPubSubがにわかに脚光をあびてますね。 にわかというより定期的に盛り上がってる気がしますが。僕はあまりデザインパターン…
だいたいこの記事のまんまですが大雑把な訳記事だと思ってください。こんなファイル(app.js)があったとする。 //app.js exports.testableMethod = function () { complicatedMethod(untestableMethod); }; var untestableMethod = function (a, b) { return …
javascript gardenとかで紹介されてるこういうスコープhttp://bonsaiden.github.com/JavaScript-Garden/ja/#function.general [名前付き関数式]のところ var foo = function bar() { console.log(bar); // 動作する console.log(foo); // 動作する } console…
世界にメリークリスマス。 http://nazomikan.com/archive/20121225/001/ npm xmasをフロントに移植してアニメーションしただけのごみですが一応クリスマスということで。 よく見てる人は気づいてるかもしれないけどサイトの方、ドメイン放置しすぎてrgpにな…
ご無沙汰してます、nazomikanです。最近、趣味でフラクタルとかで遊ぶことが多く、フラクタル特有な計算量の多さに日々ブラウザが悲鳴をあげています。そんなこともあってUI-Blockをさせないようにあれこれやった手法を紹介 まず最初に何も考えずに描画する…
jslintとjenkinsを連携させたかったので色々調べてみた。jslint4javaっていうjslintのjavaバージョンがでていたのを発見したのでant使って連携してみました。以下手順 とりあえず使用するプラグインいれておくJenkinsの管理 > プラグインの管理 > 以下のプラ…
オブジェクトのプロパティメソッドを一旦変数に代入してやるとthisの所在がかわってしまうのでそれについて (function(){ var obj = { hoge: 'abc', moge : function() { console.log(this.hoge); } }; obj.moge(); // abc }()); 普通にオブジェクトのプロパ…
ちょろいライブラリを書く時とかぼくはこんな感じのひな形つくって、必要に応じてAPIを増やしていってます。 ま、あんまりAPI増えてくると管理の仕方を色々考え直さなきゃってなるけど (function(win, doc){ win.lib = { // libライブラリの持ってるAPIを列…
ある日、会社で「オブジェクトにlengthプロパティが欲しい」といわれたので色々考えてみました。。lengthプロパティはArrayオブジェクトとかに存在するあれです。 var ary = ["a", "b", "c"]; console.log(ary.length); // output: 3 これを普通のオブジェク…
はてなダイアリーでコードのせたりしてるときにふいにデモのせたいってなるときってありますよね。 jsfiddleとか埋め込めるブログもあるけどそのまんまiframeでうめこんでもみれないので色々調べてみた。 なんかこの辺とかこの辺とか見てるとできそうだった…
前回の記事(setTimeoutとUIスレッドを学ぶよ JS Advent Calendar, オレ標準コース)で紹介したUIスレッドの概念でアニメーションをみてみる。前回の復習 UIスレッド UIスレッドとはjsとUIの更新が行われるプロセスのことである。UIスレッドはただのキューイン…
JS Advent Calendar, オレ標準コース 20日目, id:nazomikan ですjsで素人から玄人までみんな愛するsetTimeoutについて色々見直してみる 基本的な話まずは定義 timeoutID = window.setTimeout(func, delay); timeoutID は、window.clearTimeout で使うことの…
以前、@uupaaさんが出題してた闇jser試験をふと思い出したので解いてみた。 true & undefined === false & undefined まずは演算子の評価時の優先順位に着目してみる。厳密等価比較(===)のほうがバイナリビット演算子(&)より優先度が高いことがわかる。つま…
core javascriptの根本的な話。僕らの愛するjavascriptには以下の二つのスコープがある。 グローバル ローカル (ブロック: ex.next的な) javascriptにおけるスコープの仕組みは少し特別なので説明する。 scope of each scopes まずは、二つのスコープの範囲 …
indexOfにはあまり知られてない裏技的な使い方がある。 よく知られてるString.indexOf indexOf構文 indexOf(searchValue[, fromIndex])パラメータsearchValue 検索する値を表す文字列。fromIndex 呼び出す文字列内の検索を始めるための位置。0 とその文字列…
JSLint:Douglas Crockford氏作JSの品質向上ツール もうけちょんけちょんにエラーで指摘されるのは慣れてきたので、僕がふるぼっこにされながら学んだJSLint様に指摘されない書き方を紹介する。実際に自分のコードに非のある場合のエラーは一目瞭然なので、知…