この和訳について¶ この文章は Google JavaScript Style Guide を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく CC-By 3.0 とします. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. この和訳のリポジトリは こちら です.
この和訳について¶ この文章は Google JavaScript Style Guide を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく CC-By 3.0 とします. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. この和訳のリポジトリは こちら です.
基本は喰ってるか飲んでるかですが、よく趣味でカラオケ・PKI・署名・認証・プログラミング・情報セキュリティをやっています。旅好き。テレビ好きで芸能通 ちょっと前に、Stanford大のTom Wuさんという方がPure JavaScriptで公開鍵暗号を実装しているっていうのを、どなたかのつぶやきで見ました。送信相手のRSA公開鍵を使って、相手に対してメッセージを暗号化して、受取人はそれに対応した秘密鍵で復号するというものです。Base64やBigIntegerなんかもJavaScriptで実装されていました。 やる〜〜〜〜〜 ここまでできてりゃ、ひょっとしたらJavaScriptでPKCS#1 v2.1 RSASSA-PKCS1-v1_5署名もできちゃうんじゃね?、、、と思って2、3週間前に作ってみました。できたヤツは放置プレイしていたんですが、ワールドカップイヤーなもんでサッカー見なが
else は上で示したように常に単独の行に書いてください。 return の後には else を使わないでください。 if (x < y) return -1; if (x > y) return 1; return 0; i++ も ++i も使用可能です。 インライン関数はそのデバッグが楽になるように名前を付けてください。関数をプロパティに代入しただけではその関数に名前を付けることはできません。次のようにしてください。 var offlineObserver = { observe: function OO_observe(aSubject, aTopic, aState) { if (aTopic == "network:offline-status-changed") setOfflineUI(aState == "offline"); } }; 名前や列挙値には interCap
MAX 打ち上げのときに川崎さんに「英語の記事書いたら絶対ウケるから書くべきだよ」と言われていつ書こうかなーと思ってたら、そういえば11日は休日だったので、日本語の下書きだけでも一気に書いてみることにしました。 といっても、欲を出してあれもこれも書こうとして、結局まだ書ききれてませんけど。 タイトル案 Javascript と Canvas によるフルスクラッチ3Dプログラミング Javascript と Canvas 3Dプログラミング入門 ドキッ JSだらけの あと、今日(11日)は私の誕生日でもあります。25になりました。そろそろ鏡を見るのが怖くなってきますね。 以下、書きかけ Introduction Adobe MAX 2009 で Spark Project は、拡張現実(AR)のデモを展示し、来場者の注目を集めていた。Shibuya.JS のメンバーもこのデモに感激し、是非
id:hoshikuzu さんが言ってたので書いてみた。こんな感じ↓。コードはすぐ書けたけど、この記事書くのに30分以上かかってる気がする。 javascript:(~~[])[<_>{/...$/({})[~~[]][~~[]]}{/../({})[~~[]][1]}{/...$/({}[{}])[ ~~[]][~~[]]}{/..$/(!{})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{/...$/(!![])[~~[]][ ~~[]]}{/..$/(!![])[~~[]][~~[]]}{/...$/({})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{ /../({})[~~[]][~~!![]]}{/...$/(!![])[~~[]][~~[]]}</_>][<_>{/...$/({})[~~[]][~~[] ]}{/../
言語やインタフェースの設計には「驚き最小の原則」というのがある。まつもとさん本人はそんなこと言っていないようだが、かつて、Rubyはその原則に沿った言語と言われていた。一方、JavaScriptはそれに反する言語と未だに見なされているようだ。多くの場合、よく理解していないのが原因である。理解した上でも、やっぱりおかしいよ、というのもあるかも知れないが、じゃ、その場合どう定義したらよいんだ、というのはいろいろ難しい問題がある。 wtfjs(http://wtfjs.com/)にはJavaScriptのそんな「変な挙動」が集められている。wtfなんてタイトルをつけているくらいなので、あまり真面目に見る必要はないのかも知れないけれど、主なものについて古い順から軽く解説してみた。ちなみに、wtfはWhat The F*ckの略。 typeof NaN === 'number' // true In
Firebugでは条件付きブレークポイントが使えるので、 scriptタブにて該当行にブレークポイントを貼り、 条件としてconsoleへの出力を||区切りで、最後に&& falseを入れる。 console.debug('this.lastPosition') || console.dir(this.lastPosition) && false こうするとブレークポイントを通る度にconsoleへの出力は評価され、 consoleに出力され、最後の&& falseのため式全体は必ずfalseとして評価されるため ブレークすることはない。 追記 console出力系関数の戻り値はundefinedなんだから&& falseは不要か 追記 nanto_vi @monjudoh JSでは||より&&の方が優先順位が高いので、a || b && c はaが真ならbもcも評価されずに全体が真として
Firefox3.6に加速度センサーのAPIが実装されて,MacBookやThinkpadに内蔵されている加速度センサーの値をJavascriptから取得できるようになった. これを使って,本体の傾きに合わせてウィンドウくるっと回すGreasemonkey(くるくるウィンドウ.user.js)を作った. ノートパソコンを縦向きにすると,それが検知されて,ウィンドウがくるっと回る.画面が縦に長くなって,そのまま操作できるので,ページ全体を俯瞰したり,長い文章を読んだり,縦向きに撮った写真を見たりできる. ハードウェアが加速度センサーをサポートしていると,センサーの各軸の値を含んだMozOrientationイベントが発行されて,そこからノートパソコンの本体の角度を求めたりしている. 手元のMacBookだと,1秒に10回くらい値が更新されているので,細かい動きも検知できそう. これまではキー
Google Mapを使うとき、特定の場所の緯度・経度を取得したいことが多々あります。 公式ドキュメントにあるように、住所をクエリー送信して取得すればよいのですが、微妙に位置がズレてるときってないですか? 緯度・経度の数値をチビチビと調整するのは、あまりにも面倒なので。 地図上のマーカーをドラッグ&ドロップできるようにして、その位置の緯度・経度を表示するスクリプトです。 (2012/10/23追記)以下はver.2時代の例です。これではなく、新しいAPIを使うことをお勧めします。このページのデータは、とりあえず放置中です…。 (2013/02/04追記)ずっと放置もアレなので、新しいGoogle Map API(ver.3)対応のサンプルを公開しました。ver.2は正式に廃止予定なので、古いコードは早めに書き換えましょう。 (2014/05/24追記) サポート終了についてはこちら:htt
These are demos of Gordon - An open source Flash runtime written in pure JavaScript with SVG blue.html (& its .swf) tiger.html (& its .swf) trip.html (& its .swf) Gordon is by Tobey Tailor (@tobeytailor). (I'm merely hosting these demos) View Gordon's full source on github Update! Flash on the iPhone courtesy of Gordon
JavaScriptでは関数もオブジェクトです。またJavaScript独自の特徴として、オブジェクトがそのままハッシュになります。なので、これを利用すると条件分岐が簡単に書けるようになります。 これはHTML5のAPIやセレクトボックスで操作を切り替える場合のように、文字列で条件分岐したい。けど、Switch文のネストが複雑になりすぎる、あるいは不定数の選択肢に対して処理したいといった場合に便利です。 var switching=function(key){ var switchbox={}; switchbox.a=function(){ alert("a"); }; switchbox.b=function(){ alert("b"); }; var func=switchbox[key]; func(); } switching("a");//a switching("b");//
JSが少しできる人ならうじうじ考えるほどのこともでもない! 何も難しいことはない!ぶっとんぢまいなよ!ヒャッパー!!! というノリでAjaxを学んでみました。醜いです。 Ajax入門 Ajaxはいろいろできるんだぜ! 以上入門終り!キミは完璧だ!次いけ! Ajaxは非同期通信だかなんだかそんなもんはどうでもいいんだ! どうでもいい!そんなことよりもXMLHttpRequestオブジェクト生成! var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); //frefox ie7,8 safai opera } else if(window.ActiveXObject) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); // ie6
keypress,keyup,keydownイベントの発生パターンを確認するためのページです。 確認したいイベントをチェックし、テキストボックスに入力してください。 →Blogへ戻る keypress keyup keydown typekeyCodealtKeyctrlKeyshiftKeyvalue
社内の精鋭エンジニアを中心に定期的に勉強会をすることになった。んで、 JavaScript の講義は僕がやることになった。 資料を社内だけでとどめておくのはもったいないので、ここに公開していきます。社内の人も社外の人も読んでください。 講義の内容は基本的にソース嫁。ソースレビュー形式。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 Section 00 Prototype.js の前に JavaScript のオブジェクトの概要・・・ オブジェクトを作ってみる。 var object = {};オブジェクトにメソッドとかプロパティを追加してみる。 var object = { field: 'IT戦士', method: function() { alert('hello ' + this.field); } }; object.method()
オンライン英会話kiminiは、教育に70年の歴史をもつ「学研」が提供するオンライン英語学習サービスです。 英語の学習に取組むために、「どうやって勉強すればいいのかわからない」といった悩みを解決するために、オンライン授業に適した教材を学研が細部までこだわって作成しています。 kiminiは、月額980円(税込み1,078円)からの始めやすい料金プランが採用されいます。また、オンライン英会話に興味があるけど迷っている方に無料体験が用意されています。 オンライン英会話は、パソコンやスマートフォンを利用してレッスンを受講する仕組みです。インターネットさえ利用できる環境であれば、受講場所を問わず、自宅やカフェなど好きな場所で英語学習ができます。 英語学習の講師としてのトレーニングを行ったフィリピン人英会話講師と、早朝から深夜まで英語学習に取組むことができます。 kiminiには、1,400名以上の
JavaScript には基本的にブロックスコープというものが存在しない。どうしてもブロックスコープを扱いたいときは function 式を使ったりする。 var a = 10; { var a = 20; print(a); // 20 } print(a); // 20 var a = 10; (function () { var a = 20; print(a); // 20 })(); print(a); // 10 だがやはりブロックスコープがあったほうが便利ということで JavaScript 1.7 では let 式、let 文、let 宣言が導入される。 var a = 10; let (a = 20) { print(a); // 20 } print(a); // 10 しかしこれでは対応するブラウザが Firefox 2 以降などに限られる。ところが、with 文とオブ
連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事: ボタンへ動的にイベントリスナを追加する。 ボタン押下時に,0, 1, 2 とアラート表示する。 <input type="button" value="「0, 1, 2」と表示" id="my_button"> <script language="JavaScript"> function f0(){ alert( 0 ); } function f1(){ alert( 1 ); } function f2(){ alert( 2 ); } // イベントハンドラ設定 function addEvent( element, eventName, func ){ if ( element.addEventListener ) { // Firefox用 element.add
We can’t change history, but we can change the future. Be nice to each other. @robertnyman Published on Tuesday, May 27, 2008 Two and a half years ago, I released the first version of getElementsByClassName. With how web browsers has evolved since, I thought I’d release a real ultimate version, dated 2008. 🙂 Native web browser support Safari 3.1 has native getElmentsByClassName support, and upcom
JavaScriptの変数キャスト 最近、JavaScriptでホームページを作ることが多くなってきたので、 JavaScriptの変数キャスト(型変換)の覚え書きです。 1.小数を含む文字列を数値に変換。(浮動小数点数) 構文: parseFloat(x); 例 : pi = parseFloat("3.14"); // 3.14 となる 2.文字列を整数値に変換。小数点以下は切り捨て。 構文: parseInt(x); 例 : pi = parseFloat("3.14"); // 3 となる 3.数値を文字列に変換。(オブジェクトを文字列に変換) 構文: String(obj); 例 : str = String(123) + String(456); // "123456" となる 4.浮動小数点数を整数に変換。 構文: Math.floor(x); 小数点以下 切り捨て Math
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く