オンライン勉強会の Jetpack 入門に参加して Jetpack のソースコードを読んでいたら、Iterator を関数として呼び出したときとコンストラクタとして呼び出したときとでは挙動が違うということを知りました。 Iterator の動作 オブジェクト o に対して for-in 文、for-each-in 文を実行したとき、及び Iterator 関数、Iterator コンストラクタを呼び出したときの (SpiderMonkey の) 動作は、それぞれ次のようになります。 コード o が __iterator__ メソッドを持つとき o が __iterator__ メソッドを持たないとき for (... in o)
HTML5.JPオリジナルのJavaScriptライブラリを公開していきます。ご自由にライブラリをダウンロードして貴サイトにてご活用ください。 <meter> polyfill (jQuery プラグイン) <meter> polyfill は、HTML5 で新たに導入された meter 要素をサポートしていないブラウザーでも meter 要素がレンダリングされるようにする jQuery プラグインです。Chrome や Opera など、すでに meter 要素をサポートしているブラウザーには何も作用しません。このプラグインは、Internet Explorer 6, 7, 8, 9 でも動作します。 html5detector (Google Chrome Extentions) html5detector は、表示されているページが HTML5 でマークアップされていれば、アドレスバ
モナドとはプログラミング言語の機能で、その機能を備えている言語(例えばHaskell)じゃないと「モナド使えない」とか、「モナドとは関係ねー」とか思っている人がいるんじゃないでしょうか。そんなことは全然ないですよ。 モナドの実用的な応用事例として、僕が最初に思い浮かべるのは X Window System だったりします。X Window System のアーキテクチャはモナディックですもの -- と言ってみても分かりにくいですよね。それで、X Window System の一千万倍(?)くらい簡単なグラフィックスのシステムをJavaScriptで作ってみました。 Firefox + Firebug を前提としたタートルグラフィックスです。タートル・モナド - 檜山正幸のキマイラ飼育記 メモ編 にソースがあるので、これをFirefoxに読み込んでください。Firebugのコンソールをインタ
クロスサイトスクリプティング(英: cross-site scripting)とは、Webアプリケーションの脆弱性[1]もしくはそれを利用した攻撃。脆弱性をツリー型に分類するCWEではこの攻撃を不適切な入力確認 (CWE-20) によるインジェクション (CWE-74) のひとつとして分類している (CWE-79)[2]。略称はXSS。かつてはCSSという略称も使われていたが、Cascading Style Sheetsと紛らわしいのでこの略称はあまり使われなくなった[1]。 「クロスサイト(サイト横断)」という名称は歴史的なもので、初期に発見されたXSSでは脆弱性のあるサイトと攻撃者のサイトを「サイト横断的」に利用して攻撃を実行することから名づけられたものだが[3][4]、XSSの定義は新しいタイプの攻撃が見つかるたびに拡張され、サイト横断的なものでなくともXSSと呼ぶようになった[3]
JSDeferred による非同期処理のスライドを見て、「JSDeferred っておもしろそー」って思ってたんだけど、1ヶ月放置した挙句にやっと読み始めた。 JSDeferred の解説記事って検索しても出てこないので、ソース読まずにはちゃんとした使い方がわからない。 それどころか、ソース読んでも一見何やってるのかわからない。(おまけにコメント部分の英語がちょっとアレなのでというのもあるけど…) というわけで腰を落ち着けて読みながら理解した点をメモってたら、こんな分量になってしまった。 JSDeferredのソース読んでる - JavaScriptで遊ぶよ - g:javascript JSDeferredのソース読んでる・その2 - JavaScriptで遊ぶよ - g:javascript JSDeferredのソース読んでる・その3 - JavaScriptで遊ぶよ - g:jav
Atm189: Link Login Game untuk Kemenangan Maksimal Atm189 menawarkan situs permainan scatter utama yang menampilkan mesin-mesin terbaik. Dengan lebih dari 500 permainan yang tersedia, Anda akan menemukan semuanya mulai dari permainan populer dan viral hingga permainan serial klasik, semuanya lengkap untuk pengalaman bermain yang tak tertandingi. Atm189 adalah tiket VIP Anda ke pesta permainan scatt
JavaScriptでヒアドキュメントを使うライブラリを作りました。 heredoc.js http://www.teria.com/~koseki/memo/jsheredoc/heredoc.js テスト http://www.teria.com/~koseki/memo/jsheredoc/test.html 外部ファイルサンプル http://www.teria.com/~koseki/memo/jsheredoc/tests.txt 使い方 scriptタグ内に直接書き込む使い方(インラインモード)と、外部ファイルを読み込んでコールバックを実行する使い方があります。 インラインモード <script src="heredoc.js"> # ここはscriptとして解釈されません。 str1 =<<EOT 複数行の文字列です。 下の行でおわりです。str1はグローバルになります。
The cross-platform JavaScript class library jsclass is a portable, modular JavaScript class library, influenced by the Ruby programming language. It provides a rich set of tools for building object-oriented JavaScript programs, and is designed to run on a wide variety of client- and server-side platforms. In particular, to support the writing of equally portable JavaScript code, it provides a pack
Javascriptの話題が続いてます。 Changeset 7835 - prototype: Namespace all custom event names to avoid conflicts with native DOM events. 上記Changesetで、Native DOM Eventとの名前衝突を避けるために、コロンで区切るネームスペースが導入された & Native DOM Eventの呼び出しが削除された?ため、Native DOM Eventが呼び出せない。[Javascript] クロージャを利用したイベントリスナの登録のように、クロージャー + 無名関数でイベントリスナを登録すると、スコープの外部から、現在選択中のボックスを取得するとなると、各ノードを走査して調べる事になりますが、これは美しくない。 Prior to this change, Protot
JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 新しいオブジェクトを作る。 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 3 の返り値がオブジェクトならそれを返す。そうでなければ 1 で作ったオブジェクトを返す。 ここで「オブジェクトである」というのはプリミティブ値 (文字列、数値、真偽値、undefined 、null) ではないということだ。new Stri
JavaScriptを勉強しているとオブジェクトとはなんぞや?ということがわからなくなってきます。選択肢が増えれば増えるほど。 JavaScriptには、同じように見えて、実は同じではないデータがあります。それらのオブジェクトについて、区別して説明が付けられるように、自分なりに考察してみました。勉強中のアウトプットなので、ここで書いた内容は事実とは大きく外れているものかもしれません。とにかく不明瞭な部分を自分なりに理由づけしたかっただけです。 サンプルコードを試される場合は、FirefoxのFireBugにあるコンソールに貼りつけて実行するか、Safariの開発ツールにあるコンソールに貼りつけて実行してください。それがわからない方は console.log の部分を alert に置き換えて確認してください。 話がややこしくなるので、今回はプロパティしか扱っていません。 名称の定義について
document.createEventとdispatchEvent、addEventListenerを使ってイベントドリブンに書いたJavaScriptがオレブーム(ただし、IE非対応*1 )なので、軽く紹介してみたいと思います。 具体的には、AutoPatchWork (Google Chrome Dev用のextension)をイベントドリブンで実装しています。 AutoPatchWork.jsが2009/06/11 21:00時点のソース(id:nanto_viのコメントをうけて#を.に変更済み)。シンプルさを重視しているので、324行と短めです(CSSは別ファイルですが)。 window.addEventListener('scroll', check_scroll, false); window.addEventListener('AutoPatchWork.request',
「JavaScript 第5版」のp174のborrowMethods関数について。 function borrowMethods(borrowFrom, addTo) { var from = borrowFrom.prototype; var to = addTo.prototype; for (m in from) { if (typeof from[m] != "function") continue; to[m] = from[m]; } } 一見何の問題もないように見えるが、変数mがグローバルになってしまっている。 for/inやfor(;;)での変数宣言忘れはよくあることだ。 例えばWebKitのVersion 4 Public Beta (5528.17, r44282)現在では、コンソールのkeys関数とvalues関数が、同じようなミスをしていて、変数kがグローバルにな
タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー
データ分析から導き出されたインサイト無しにAI(人工知能)の活用は始まりません。私たちは、各業界知識とデータ・アナリティクス技術を駆使しデータドリブン経営を強力に支援します。 データ、アナリティクス、AIは企業にとって競合他社との差別化を図るかつてないほど大きな要因になっています。今日の経営幹部が効率を向上しながら新たな収益源を開拓し、新しいビジネスモデルをタイムリーに構築する方法を模索する中、価値を生み出し成長を続ける企業には「データ活用」という共通項があります。私たちは、無数のデータから企業にとって本当に必要なデータを活用するための方法を知っています。 将来を見据えたオペレーション体制を備えている企業の半数以上(52%)は、すでにデータとアナリティクスを大規模に活用しています。データとAIに関する取り組みをビジネス戦略に沿って実施することで投資利益率を迅速に最大化し、最終的にはAIをビ
Jetpack is a newly formed initiative and experiment in using open Web technologies to enhance the browser, with the goal of allowing anyone who can build a Web site to participate in making the Web a better place to work, communicate and play. As with all Labs experiments, Jetpack is an open source project and everyone is welcome to participate in its design, development and testing. Read the full
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く