タグ

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

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとJavascriptとProgrammingに関するagwのブックマーク (1,005)

  • 第一級オブジェクト - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "第一級オブジェクト" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2024年11月) 第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば生成、代入、演算、(引数・戻り値としての)受け渡しといったその言語における基的な操作を制限なしに使用できる対象のことである。ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクトを意味しない。第一級オブジェクトは「第一級データ型に属す」という。 この言葉は196

  • クロージャのわかりにくさ - 週記くらい(BTS開発記)

  • Kanasan.JS #2 レポート & 資料: Days on the Moon

    関西での JavaScript 勉強会、Kanasan.JS #2 に行ってきました。今回は 9 時から 21 時という長丁場で、内容は前回に引き続き Prototype.js のコードリーディング。ただし、前回はバージョン 1.5.1.1 だったのが今回からは 1.6.0 を使用ということで、コードリーディングに先駆けて 1.6.0 での変更点に関するプレゼンテーションをやらせていただきました。他の参加者の方々のレポートなどは Kanasan さんの記事経由で読めるかと思います。 フリートーク 午前中はフリートーク及びプレゼンテーションということで、自己紹介の後雑多な話題に。 リファレンス どんな参考文書を利用しているかという話題。とりあえずググって出てきたページという方が結構いるようです。私も検索エンジンを使ったりもしますが、特定のサイトだとこんな感じです。 コア言語 ECMAScri

    agw
    agw 2008/01/09
    クロージャ、Prototype 1.6の詳説。クロージャの解説部分は秀逸。
  • JavaScript の変数と delete 演算子: Days on the Moon

    Kanasan.JS JavaScript 第 5 版読書会 #1 にて delete 演算子の動作が話題に上ったそうです。そこで、それについてちょっとまとめてみようかと思い立ったはいいものの、ずるずると引き伸ばしているうちに年を越してしました。しかし、読書会 #2 の開催も決まり、もうこれ以上引き伸ばしているといつまでたっても書けなさそうなので、いい加減腹をくくって個人的にまとめてみようと思います。 JavaScript の変数 delete 演算子の対象 変数に対する delete 演算子 削除できるプロパティとできないプロパティ 変数の属性 delete 演算子の返り値 JavaScript の変数 delete 演算子の話に移る前に、変数とは何なのかおさらいしておきましょう。JavaScript において、変数とはプロパティの別名です。といっても、すべてのプロパティを変数というわけ

    agw
    agw 2008/01/09
    素晴らしい文書。
  • 今はとりあえずこれを推す - 書評 - Java開発者のためのAjax実践開発入門 : 404 Blog Not Found

    2008年01月03日23:00 カテゴリ書評/画評/品評Lightweight Languages 今はとりあえずこれを推す - 書評 - Java開発者のためのAjax実践開発入門 技術評論社書籍編集部池様より「逆算式SQL教科書」と一緒に献いただいたのがこちら。 Java開発者のためのAjax実践開発入門 河村嘉之 / 川尻剛 / 福沢知海 実にいいタイミングなのでここで書評。 F's Garage:はじめてWebプログラミングをするなら PHP? Ruby? やっぱり、PHP・・・・かな 「はじめてのWebプログラミング」でしょ? それならもう答えははっきりしている。PerlでもRubyでもPythonでもましてやPHPでもない。 JavaScript、だ。 書「Java開発者のためのAjax実践開発入門」は、「Java開発者のための」とあるが、別にJava開発者でなくても、

    今はとりあえずこれを推す - 書評 - Java開発者のためのAjax実践開発入門 : 404 Blog Not Found
  • Hatena::Diary - スーパpre記法で実行可能なJavaScriptを : 404 Blog Not Found

    2007年05月06日18:45 カテゴリLightweight LanguagesBlogosphere Hatena::Diary - スーパpre記法で実行可能なJavaScriptを そのはてなダイアリーで、こうすれば比較的安全に実行可能なJavaScriptを記述できるのではないかという提案。 404 Blog Not Found:javascript - はてダでは書けないはてなブックマーク技25個 こういう技の紹介って、JSがあればもっとわかりやすいんだけどはてダはJS禁なので。 はてなアイデア - スーパpre記法で実行可能なJavaScriptを投稿できるようにしてほしい cf. http://blog.livedoor.jp/dankogai/archives/50824976.html レシピ まずは、スーパーpre記法を以下のように拡張。 はてなダイアリーのヘルプ

  • 配列を結合したり、配列を初期化したり - IT戦記

    既出かもー 配列の結合 var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; [].push.apply(array1, array2); alert(array1); // [1, 2, 3, 4, 5, 6] 3文目で空配列を使ってるのは書くのが短いからってだけ。 配列の初期化 function hoge() { var args = []; [].push.apply(args, arguments); alert(args); }; hoge(1, 2, 3); // [1, 2, 3]

    配列を結合したり、配列を初期化したり - IT戦記
  • [はてなダイアリー]てっく煮ブログ - はてなダイアリーで JavaScript eval

    3ヶ月ほど前、弾さんや id:amachang さんが、はてなダイアリーで JavaScript が使えたらいいのにね、という話をしていました。404 Blog Not Found:Hatena::Diary - スーパpre記法で実行可能なJavaScriptIT戦記 - Re: スーパー pre 記法で実行可能な JavaScript をで、先日、自分のはてなダイアリーにブログパーツを設置できるようになったので、事実上の JavaScript 解禁になりました。ということで、JavaScript の eval を貼り付けるガジェットを Google Gadgets で作ってみました。サンプルまずは簡単に Hello World。nanto_vi さんによる Math.random().toString(36).slice(-8) でパスワード生成 もすぐに試せる。(関連エントリ:Ja

  • HotRuby - Ruby on JavaScript - yukobaのブログ

    先日の木曜日、YLUGに参加しました。笹田耕一さんの YARV(Yet Another RubyVM) の講演会でした。なんか、会は、過去9年間の間で、1,2を争う盛り上がりだったそうで、すごく楽しかったです。参加者のレベルも高く、YARV の中の話を色々と聞かせていただきました。 その席で、ザイボウズ・ラボの竹迫さんに、「Ruby on JavaScript つくらないの?」とお誘いを受けたので、この週末、作ってみました♪ 名づけて、HotRuby。ちゃんと動いているよ〜 http://hotruby.accelart.jp/ 基的な文法は、大体、実装しました。ただし、組み込み関数や組み込みクラスは、大部分が実装されていません。文法面でも、例外は実装していません。 仕組みは、一度、サーバーの Ruby 1.9.0 の YARV でオペコード列にコンパイルさせて、それを JSON でクラ

    HotRuby - Ruby on JavaScript - yukobaのブログ
  • JSONP - あどけない話

    今日は、JSONP のお話です。昨日の JSON の話を読んでいない人は、まずそちらから読んで下さいね。 JSONP は JSON with Padding の略称であり、 Bob Ippolito さんがRemote JSON - JSONPという記事の中で提唱しました。 ここでいう Padding とは、JSON データに関数名を付加することです。もっと詳しく言うと、サーバがブラウザに JSON データを送る際に、ブラウザが指定した JavaScript の関数名を付加することです。 なぜ、JSON に関数名を付加するの必要があるのでしょうか? それを理解すれば、JSONP が分ったことになります。 よくあるストーリー ブラウザがサーバと通信しており、そのデータ形式に JSON を使っている状況を考えてみて下さい。たとえば、ブラウザから youtube に、あるキーワードで検索をかけ、

    JSONP - あどけない話
  • JSON - あどけない話

    JSONP とは一体何か教えてと言う友達がいるので、まず JSON から説明したいと思います。(その友達は、JSON と JSONP の区別がついていませんでした。。。) JSON は、偉大なる Crockford先生が RFC 4627で定めた JavaScript 用のデータ形式です。Web サーバとブラウザの間でデータを交換する際に、そのデータ形式として使われることが多いです。 ちなみに JSON とは、JavaScript Object Notation の略称です。 JavaScript をよく知らない人のために Java はよく知っているけど、JavaScript は知らないという人にとって、オブジェクトがリテラルで書ける、つまり new なんかせずともプログラム中に記述できると言うとビックリするかもしれません。何を隠そう、JavaScript のオブジェクトとは連想配列(ハッ

    JSON - あどけない話
  • JSLint,The JavaScript Code Quality Tool

    JSLint, The JavaScript Code Quality and Coverage Tool. This file allows JSLint to be run from a web browser. It can accept a source program and analyze it without sending it over the network.

  • Code Conventions for the JavaScript Programming Language

    https://www.crockford.com/code.html

  • 僕のJavaScriptスタイル - あどけない話

    たくさん JavaScript のコードを書いてみて、ようやく自分なりのスタイルが確立されようとしているので、記しておきます。なお、クラスの定義には、prototype.js 1.6 系を使います。 Crockford先生のおしえ まず大前提として、Crockford先生のおしえをなるべく守るようにします。この教えを守れば、JSLintの祝福があります。JavaScript のコードを書いたら、必ず JSLint に通し、満点をもらうまで頑張りましょう。 「if の後は、たとえ一文しかなくともブロック({})を使え」と書かれていますね。自分のスタイルに合わないかもしれませんが、我慢我慢。我を通すよりも JSLint に愛される方が大切です。 ただ、僕は一つ教えを破ることにしました。プライベートな変数や関数は、"_" で始めます。これについては、後述します。 名前空間 グローバルな名前空間は

    僕のJavaScriptスタイル - あどけない話
  • JavaScript: The World's Most Misunderstood Programming Language

    JavaScript: The World's Most Misunderstood Programming Language Douglas Crockford www.crockford.com JavaScript, aka Mocha, aka LiveScript, aka JScript, aka ECMAScript, is one of the world's most popular programming languages. Virtually every personal computer in the world has at least one JavaScript interpreter installed on it and in active use. JavaScript's popularity is due entirely to its role

  • JavaScript とλ式 - あどけない話

    amachangさんの講演資料を観ていて、「ラムダ式も出来る」というページがありました。これに触発されて、少し書いてみます。 amachang さんが挙げていらっしゃる例は「λx.x」で、JavaScript で書くとこうなります。 function(x) { return x; } とても面白い話を示唆しているのですが、この単純な例だと、聴講者に「それなら C/Java でも書けるよ」という印象を持たれてしまいそうです。 そこで、JavaScript では表現できて、C/Java ではできない例を挙げてみようと思います。 funarg 問題 言語がλ式をエミュレートするためには、厳密な条件があるらしいのですが、その一つがクロージャです。クロージャを使った例を使えば、JavaScript ではできて、C/Java ではできないことが示せるでしょう。 私の上司である和田先生に聞いたところ、「

    JavaScript とλ式 - あどけない話
  • ニュータイプなJSライブラリjQueryを使ってみよう!

    JavaScriptライブラリのニュータイプ「jQuery」。 jQuery is a new type of JavaScript library. jQuery: The Write Less, Do More, JavaScript Library ニュータイプと聞いては黙っていられないニュータイプファンの皆様こんにちは、公開APIを利用したサンプルサイトを作っていくよ管理人のZAPAです。 Web2.0やらAjaxやらの言葉が流行っていても、実際にそれっぽいものを作ろうと思ったところで、初心者は一体どこから手を付けて良いのかわからないのが現実だったりします。 そこで今回は、Web2.0っぽくAjaxを実現させることができるライブラリ「jQuery」の紹介をします。 Ajaxとは ここで言うAjaxは、オランダの名門フットボールチーム「アヤックス」ではなく、ウェブブラウザ内で非同期通

    ニュータイプなJSライブラリjQueryを使ってみよう!
  • クロージャ - あどけない話

    JavaScript とλ式の関係について書こうと思ったのですが、その前にクロージャについてお話しする必要があることに気付きました。 僕が最初にクロージャという言葉を知ったのは、大学の学部生のときです。Lisp の勉強をしていて出てきたのです。でも、まったく理解できませんでした。 これまで僕が主に使ってきた言語は、C や Emacs Lisp です。C では関数の中に関数を定義できないのでクロージャはありませんし、Emacs では動的スコープでクロージャはありませんから、クロージャに関する知識がなくても困りませんでした。それが、クロージャを気で理解しなかった理由だと思います。 ここでは、JavaScript にとってクロージャが必要である例を示すことにしましょう。必要性が実感できれば、詳しく勉強しようという意欲が湧くはずだからです。 関数に static な変数 C言語には、関数に st

    クロージャ - あどけない話
    agw
    agw 2007/12/19
    素晴らしいエントリ。PascalとCの比較については、ちょっとジーンと来た。
  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き。高速化編

    前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に

  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き

    未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute