タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとjavascriptとJavascriptに関するrryuのブックマーク (235)

  • JavaScriptによるマルチスレッドの実現‐Concurrent.Threadの裏側

    function f ( ) { do_something(); do_another(); do_one_more(); } このプログラムでは順番に3つの関数を呼び出していますが、各関数呼び出しの間でいったんスレッドの実行権を他のJavaScriptコードに渡したいとします。これは次のように、各関数呼び出しをそれぞれ別の関数に分けて、間にsetTimeoutを挿むようにプログラムを書き換えることで実現できます。 function f ( ) { do_something(); setTimeout(f1, 1);  // 1ミリ秒後にf1を呼び出す } function f1 ( ) { do_another(); setTimeout(f2, 1); } function f2 ( ) { do_one_more(); } こうして書き換えた関数fを、 f(); f(); のようにし

    JavaScriptによるマルチスレッドの実現‐Concurrent.Threadの裏側
    rryu
    rryu 2010/04/11
    JSのソースコードをJSで独自にパースし直して、スレッド切り替え可能な単位でクロージャに分割し、setTimeout()を利用したスケジューラの呼び出しを挟むことで並列実行を実現している。なんというかすごい。
  • amachang - JavaScript 入門

    プログラミングのこつ 無駄な名前を極力使わないこと。意味単位に名前空間を細かく階層的に分離すること。 ここで言う名前空間とは 名前空間とは、一つの名前が一意のものを表す空間。例えば、大きな目で見れば、日語は自然言語の名前空間である。また、専門用語なども名前空間と考えることが出来る。 日語 { コンニチワ = 挨拶 : : } 中国語 { ニーハオ = 挨拶 } 英語 { ハロー = 挨拶 } また、名前空間は重なり(優先順位)を持つ 同音異義語などの言葉は、それぞれの細かい名前空間の重なりによって一意のものに特定されると考えられる たとえば、「コイが好き」と言った場合 池に関する名前空間 { コイ = すいすいパクパク } チャライ話題に関する名前空間 { コイ = ドキドキきゅんきゅん } お茶に関する名前空間 { コイ = にがーい } 名前空間の優先順位を考えると、一意の意味を知

    rryu
    rryu 2010/02/03
    冒頭の訳のわからない話は名前空間というよりはスコープな感じがする。
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2006/11/js_string_literal2.php

    rryu
    rryu 2010/01/31
    ECMA262「7.1 Unicode 制御文字」に「文字列と正規表現リテラルの処理前にこれらの文字が取り除かれるので」とあるのでFirefoxの挙動が正しいような気がしないでもない。
  • JavaScriptのfor文の中で、カウンタ変数を利用する関数をジェネレートするいくつかの方法 - あと味

    for文の中で、カウンタ変数を利用する関数を作るとき、はじめは必ずハマるであろうことが予想できます。 私も実際にハマったことが多々あります。 エントリーでは、for文の中で、カウンタ変数を利用する関数をジェネレートするいくつかの方法を提示したいと思います。 問題のあるコード 以下のコードがfor文の中で、カウンタ変数を利用する関数をジェネレートするコードです。for文を1から5まで繰り返し、配列の中にカウンタ変数を出力する関数を格納していきます。関数が格納された配列をさらにfor文で走査し、1から5まで出力することを意図しています。 素直にコーディングすると、まずうまくいきません。 var func_list = []; for (var i = 1; i < 6; i++) { func_list.push(function() { return console.log(i); });

    JavaScriptのfor文の中で、カウンタ変数を利用する関数をジェネレートするいくつかの方法 - あと味
    rryu
    rryu 2009/11/19
    クロージャを使わなければいいような。せっかく関数もオブジェクトなのだから事前に指定した任意のパラメータを伴って呼び出される関数オブジェクトみたいなのを作るとか。
  • 本の虫: QuirksBlog: HTML5のドラッグ&ドロップはクソだ

    QuirksBlog: The HTML5 drag and drop disaster QuirksBlogで有名なPeter-Paul Kochさんが、HTML5のドラッグ&ドロップに関して、酷くののしっている。かなり好い文章で、興味深かったので翻訳してみた。記事が長いので、blockquoteを使うのは御免を被る。 一日半もテストして、HTML5 drag and drop moduleはクソなばかりか、ゲロみてえな臭いがプンプンするってことが、いやというほど分かったね。 コイツはHTML5規格から、ソッコーで消すべきだし、もっとまともな規格が制定されるまでは、現行ブラウザは、この機能を、一刻も早く無効にするべきだ。 Web開発者は、HTML5のドラッグ&ドロップを使うな。絶対使うな。RFC2119で規定されているMUST NOTの意味で使うな。使いたきゃ、従来通りのスクリプトで実装

    rryu
    rryu 2009/09/25
    元々がプロセス間通信用のDnDの仕様だから、単なる物体の移動用途だと無駄に複雑で使えないように見えるのではないかと。
  • 理由がない限り、Array.join("") による文字列連結は使わないほうがいいみたい - latest log

    JavaScript の勉強を開始したときに「文字列の連結には Array.join() を使え」といった記事を見た覚えがあります(ソース失念したけど、 Operaの技術文書だった気がする ⇒ IE の技術文書だったかも)。 一年ほど信じてて、念のためベンチとってみたら「うそやーん」でした。ってお話。 ベンチの条件は、 3種類の文字列連結方法を試す 1. + Operator 2. String.concat() 3. Array.join("") 文字列の要素数を 11個 と 55個で試す <!doctype html><html><head><title></title> </head><body> <script> window.onload = function() { var now = +new Date, lp = 100; while (lp--) { job(); } d

    理由がない限り、Array.join("") による文字列連結は使わないほうがいいみたい - latest log
    rryu
    rryu 2009/08/28
    ["A","B"].join("")は3個の文字列を、"A"+"B"は2個の文字列を連結するから、joinの方が遅いのは自明。
  • JPU - JavaScript CPU Monitor

    My JavaScript book is out! Don't miss the opportunity to upgrade your beginner or average dev skills. This is a little experiment, based on single threading JavaScript behaviour and for this reason not "perfect". As You can see on top right of this blog, JPU just tell You if your operations inside this page have a cost for your CPU. For example, try to click one mini-banner on the right side (OCS

    rryu
    rryu 2009/08/24
    setIntervalした関数の呼び出し間隔の遅延具合からCPU負荷を推測している模様。
  • JavaScriptのnewって本当にいらない子? - あと味

    先日、「JavaScriptのオブジェクトについて考察してみた - あと味」を書いてから、chikuraさんからコメントいただいたり、id:dankogaiさんから「404 Blog Not Found:javascript - にはクラスはない」という記事で言及いただいたり、JavaScript: The Good Partsを読み返したりした結果、newについて調べたいという衝動にかられましたので、その調べた結果を書いてみたいと思います。 newを調べようと思ったキッカケを整理 まずは、そのキッカケから整理します。 chikuraさんのコメントより 押さえるべきポイントは、new演算子の際に何が行われるか?だと思うので、こちらのページもぜひ読んでみてください。 JavaScript の new 演算子の意味: Days on the Moon http://nanto.asablo.j

    JavaScriptのnewって本当にいらない子? - あと味
    rryu
    rryu 2009/07/07
    F()とnew F()を同じ動作にしたいのならこうとか。function F() { return this instanceof arguments.callee ? this : new arguments.callee }
  • This Document has Moved

    This Document has Moved. この文書は http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/13_Function_Definition.html に移動しました。 Japanese fonts required. All rights reserved. 1998-2015 TAKI

    rryu
    rryu 2009/06/12
    コンストラクタでオブジェクトをreturnした場合、そのオブジェクトがnew演算子の評価結果になる。
  • Under Translation of ECMA-262 3rd Edition

    This Document has Moved. この文書は http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/index.html に移動しました。 Japanese fonts required. All rights reserved. 1998-2015 TAKI

  • Ecma-262.pdf (application/pdf オブジェクト)

    ECMAScript® 2025 language specification 16th edition, June 2025 This Standard defines the ECMAScript 2025 general-purpose programming language. Kindly note that the normative copy is the HTML version; the PDF version has been produced to generate a printable document. This 16th edition has been prepared under the Ecma RF patent policy. Please note that for ECMAScript Edition 4 the Ecma standard nu

  • JavaScriptのオブジェクトについて考察してみた - あと味

    JavaScriptを勉強しているとオブジェクトとはなんぞや?ということがわからなくなってきます。選択肢が増えれば増えるほど。 JavaScriptには、同じように見えて、実は同じではないデータがあります。それらのオブジェクトについて、区別して説明が付けられるように、自分なりに考察してみました。勉強中のアウトプットなので、ここで書いた内容は事実とは大きく外れているものかもしれません。とにかく不明瞭な部分を自分なりに理由づけしたかっただけです。 サンプルコードを試される場合は、FirefoxのFireBugにあるコンソールに貼りつけて実行するか、Safariの開発ツールにあるコンソールに貼りつけて実行してください。それがわからない方は console.log の部分を alert に置き換えて確認してください。 話がややこしくなるので、今回はプロパティしか扱っていません。 名称の定義について

    JavaScriptのオブジェクトについて考察してみた - あと味
    rryu
    rryu 2009/06/12
    疑似クラスと疑似インスタンスという考え方が事を複雑にしているような。というかコンストラクタでreturnするというのもありなのか。
  • 世にも奇妙なJavaScriptの機能 (Kanasansoft Web Lab.)

    "α".toUpperCase(); //=>"Α" "Α".toLowerCase(); //=>"α" "ω".toUpperCase(); //=>"Ω" "Ω".toLowerCase(); //=>"ω" "ψ".toUpperCase(); //=>"Ψ" "Ψ".toLowerCase(); //=>"ψ" "ա".toUpperCase(); //=>"Ա" "Ա".toLowerCase(); //=>"ա" "â".toUpperCase(); //=>"Â" "Â".toLowerCase(); //=>"â"

    rryu
    rryu 2009/06/11
    http://www.unicode.org/Public/UNIDATA/CaseFolding.txt / 音素文字なら大文字小文字があるという訳ではない。
  • 「JavaScriptでconcatはもう使うべきではないのかも」なんてことはない - os0x.blog

    JavaScriptでconcatはもう使うべきではないのかもしれない (Kanasansoft Web Lab.)に早まるなとツッコミを入れる。 まず、当たり前ですがpushを使うべきところでconcatを使う理由はありません。配列に要素を追加したいならpushを使うのは当然ですね。 あえてconcatを使うのは配列を複製したい場合です。*1 で、複製する場合のベンチをとってみました。 http://ss-o.net/test/array_clone.html Firefoxは配列の長さが大きくなってくるとpushのほうが高速になる傾向が見られるものの、基的にconcatのほうが安定して高速です。なにより、配列を複製していることが明確なconcatを使わない理由はありません。 ちなみにIE8はconcatが最適化されているらしく、上記ベンチではっきりとした差が出ます。シンプルに書いてお

    「JavaScriptでconcatはもう使うべきではないのかも」なんてことはない - os0x.blog
    rryu
    rryu 2009/04/24
    concatは不要と言うのならば同じことをしている非破壊版で速度比較しないと……
  • jQuery Documents Main Page - jQuery

    jQuery 4.0 is coming soon! Prepare by upgrading to the latest jQuery 3.x release. Learn more about our version support. jQuery API jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. If you're new to jQuery, we