ぶれすとつーる

だいたいjavascript

rubyのArray#sortの挙動が怪しい件(あやしくなかった)

この挙動は別段問題なくて単純にコードブロックの評価順序によるものでした。 末尾に詳細を説明してますのでそちらを参照ください。元記事 ↓ Array#sortをブロック渡しで実行したときの挙動が変 # case 1 ary = ["1", "2", "10", "11", "3", "4", "23"] p ar…

canvasのlazyな描画

ご無沙汰してます、nazomikanです。最近、趣味でフラクタルとかで遊ぶことが多く、フラクタル特有な計算量の多さに日々ブラウザが悲鳴をあげています。そんなこともあってUI-Blockをさせないようにあれこれやった手法を紹介 まず最初に何も考えずに描画する…

jenkinsとjslintを連携させてみたよ

jslintとjenkinsを連携させたかったので色々調べてみた。jslint4javaっていうjslintのjavaバージョンがでていたのを発見したのでant使って連携してみました。以下手順 とりあえず使用するプラグインいれておくJenkinsの管理 > プラグインの管理 > 以下のプラ…

関数の再代入時のthis

オブジェクトのプロパティメソッドを一旦変数に代入してやるとthisの所在がかわってしまうのでそれについて (function(){ var obj = { hoge: 'abc', moge : function() { console.log(this.hoge); } }; obj.moge(); // abc }()); 普通にオブジェクトのプロパ…

DOM操作系ライブラリのひな形

ちょろいライブラリを書く時とかぼくはこんな感じのひな形つくって、必要に応じてAPIを増やしていってます。 ま、あんまりAPI増えてくると管理の仕方を色々考え直さなきゃってなるけど (function(win, doc){ win.lib = { // libライブラリの持ってるAPIを列…

Proxyでオブジェクトにlength

ある日、会社で「オブジェクトにlengthプロパティが欲しい」といわれたので色々考えてみました。。lengthプロパティはArrayオブジェクトとかに存在するあれです。 var ary = ["a", "b", "c"]; console.log(ary.length); // output: 3 これを普通のオブジェク…

はてなダイアリーの記事にjsFiddleを埋め込みたい

はてなダイアリーでコードのせたりしてるときにふいにデモのせたいってなるときってありますよね。 jsfiddleとか埋め込めるブログもあるけどそのまんまiframeでうめこんでもみれないので色々調べてみた。 なんかこの辺とかこの辺とか見てるとできそうだった…

アニメーションとUIスレッド

前回の記事(setTimeoutとUIスレッドを学ぶよ JS Advent Calendar, オレ標準コース)で紹介したUIスレッドの概念でアニメーションをみてみる。前回の復習 UIスレッド UIスレッドとはjsとUIの更新が行われるプロセスのことである。UIスレッドはただのキューイン…

setTimeoutとUIスレッドを学ぶよ JS Advent Calendar, オレ標準コース

JS Advent Calendar, オレ標準コース 20日目, id:nazomikan ですjsで素人から玄人までみんな愛するsetTimeoutについて色々見直してみる 基本的な話まずは定義 timeoutID = window.setTimeout(func, delay); timeoutID は、window.clearTimeout で使うことの…

闇jser試験をといてみた。

以前、@uupaaさんが出題してた闇jser試験をふと思い出したので解いてみた。 true & undefined === false & undefined まずは演算子の評価時の優先順位に着目してみる。厳密等価比較(===)のほうがバイナリビット演算子(&)より優先度が高いことがわかる。つま…

Javascript Scope

core javascriptの根本的な話。僕らの愛するjavascriptには以下の二つのスコープがある。 グローバル ローカル (ブロック: ex.next的な) javascriptにおけるスコープの仕組みは少し特別なので説明する。 scope of each scopes まずは、二つのスコープの範囲 …

単語前方一致・単語後方一致・単語完全一致 String.indexOfの魔力

indexOfにはあまり知られてない裏技的な使い方がある。 よく知られてるString.indexOf indexOf構文 indexOf(searchValue[, fromIndex])パラメータsearchValue 検索する値を表す文字列。fromIndex 呼び出す文字列内の検索を始めるための位置。0 とその文字列…

JSLint will hurt your feelings.

JSLint:Douglas Crockford氏作JSの品質向上ツール もうけちょんけちょんにエラーで指摘されるのは慣れてきたので、僕がふるぼっこにされながら学んだJSLint様に指摘されない書き方を紹介する。実際に自分のコードに非のある場合のエラーは一目瞭然なので、知…