約 2,903,079 件
https://w.atwiki.jp/geno/pages/19.html
Acrobat JavaScriptをオフにする方法 Adobe ReaderではJavaScriptを使うことができますが、 この機能を悪用したウイルスが今回のGENOウイルスです。 滅多に使うことはないので環境設定より切ってしまいましょう。 1.Adobe Readerを起動 2.編集(E)メニューより環境設定(N)を選ぶ 3.左の分類よりJavaScriptを選ぶ 4.左側「Acrobat JavaScript を使用(J)」のチェックボックスをオフにしてOKボタン
https://w.atwiki.jp/keisks/pages/511.html
https //developers.google.com/web/tools/chrome-devtools/javascript/disable
https://w.atwiki.jp/purkinje/pages/18.html
JavaScriptは、ユーザーの入力があるまで待つことが出来ない。具体的に言うと、 please_dice(); document.write("サイコロの目は、 b "+dice+" /b だ。"); function please_dice() { if (クリックまだ) { setTimeout("please_dice()", 100); サイコロの乱数取得; サイコロの表示 } else { dice = クリックで止めたサイコロの目; } 実現して欲しい動作は、最初のplease_dice()を実行して、ユーザがサイコロをクリックで止めると次の処理に移る、というもの。 ところが、setTimeoutは、次行に処理を進めてから、第2引数のミリ秒後に第1引数の関数を実行する。つまり、setTimeoutでは止まってくれない。 setTimeoutの後の処理は、次に何をするかプログラム上でメモしておいてから、で解決か? please_dice(); status = using_herb; function please_dice() { if (クリックまだ) { setTimeout("please_dice()", 100); サイコロの乱数取得; サイコロの表示 } else { dice = クリックで止めたサイコロの目; document.write("サイコロの目は、 b "+dice+" /b だ。"); do_next(status); } function do_next(status) { switch (status) { case using_herb HP += dice; document.write("体力が、 b "+dice+" /b 回復した。"); break; } } これなら、statusで次に何をするか覚えさせておいて、サイコロの目は何に使うのか分かる。この例では薬草を使うことしか書いてないけど、自分の武器攻撃や敵の攻撃とかにももちろんサイコロを使う。どの場合にもplease_dice()関数を使うので、その後の処理を明示しなくてはならない、ということかな。
https://w.atwiki.jp/fujiyan/pages/46.html
WebコミックLibraryhttp //web-comi.appspot.com/GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… Functionオブジェクトあれこれの内容を総動員して、クラスっぽいことが実現できます。 クラスもどき 下記のようなJavaベースの擬似コードで表現されたクラスを仮定します。 class Foo { var propertyA; Foo(str) { this.propertyA = str; } void methodA(mark) { alert(mark + this.propertyA + mark); } } クラス名はFooです。 プロパティpropertyAを持ちます。 コンストラクタを持ち、引数として文字列を受け取り、propertyAに設定します。 methodAを持ち、引数として文字列を受け取り、propertyAの内容をその文字列で囲んで表示します。 上記のクラスを、JavaScriptでそれっぽく実現すると下記のようなコードになります。 var Foo = function(str) { this.propertyA = str; } Foo.prototype.methodA = function(mark) { alert(mark + this.propertyA + mark); } // 以下、使用例 var obj1 = new Foo("obj1"); obj1.methodA("***"); var obj2 = new Foo("obj2"); obj2.propertyA = obj2.propertyA + "@@@"; obj2.methodA("+++"); 小分けにして説明 var Foo = function(str) { this.propertyA = str; } クラス名を名前にした変数Fooを定義し、コンストラクタとなるFunctionオブジェクトを設定します。これにより、new Foo()という記述で、オブジェクトの生成が可能になります。 コンストラクタの内部で、プロパティとなるpropertyAを、new演算子で生成した際のコンテキストオブジェクトに定義します。これにより、new Foo()で生成したオブジェクトには、全てpropertyAが定義されることになります。 コンストラクタは、引数strを受け取り、生成したオブジェクトのpropertyAに設定します。 Foo.prototype.methodA = function(mark) { alert(mark + this.propertyA + mark); } コンストラクタとなるFunctionオブジェクトFooのprototypeに対して、メソッド名を名前にしたプロパティmethodAを定義し、メソッドとなるFunctionオブジェクトを設定します。これにより、new Foo()で生成したオブジェクトに対して、obj1.methodA()という表記で、メソッドとなるFunctionオブジェクトが実行できます。 obj1.methodA()と呼び出した際は、methodA内のthisは、obj1を指します。 クラス継承もどき さらに、継承っぽいこともやらせてみましょう やっぱり、下記のようなJavaベースの擬似コードで表現されたクラスを仮定します。 // クラスFooの定義は、上記と同じ class ExtendedFoo extends Foo { var propertyB; ExtendedFoo(strA, strB) { super(strA) this.propertyB = strB; } void methodA(mark) { alert(mark + this.propertyA + this.propertyB + mark); } void methodB(mark) { alert(mark + this.propertyB + mark); } } クラス名はExtendedFooです。 クラスFooを継承しています。 Fooで定義されたプロパティの他、独自のプロパティpropertyBを持ちます。 コンストラクタを持ち、引数として文字列を2つ受け取ります。最初にスーパークラスFooのコンストラクタを呼び出します。引数にstrAを指定します。 strBは、propertyBに設定します。 Fooで定義されたmethodAをオーバーライドします。引数として文字列を受け取り、propertyAとpropertyBの内容を連結し、その文字列で囲んで表示します。 独自のメソッドmethodBを持ちます。 上記のクラスを、やっぱりJavaScriptでそれっぽく実現すると下記のようなコードになります。 var ExtendedFoo = function(strA, strB) { Foo.apply(this, [strA]); this.propertyB = strB; } ExtendedFoo.prototype = new Foo(); ExtendedFoo.prototype.methodA = function(mark) { alert(mark + this.propertyA + this.propertyB + mark); } ExtendedFoo.prototype.methodB = function(mark) { alert(mark + this.propertyB + mark); } //以下、使用例 var obj1 = new ExtendedFoo("obj1", "abc"); obj1.methodA("***"); obj1.methodB("***"); var obj2 = new ExtendedFoo("obj2", "xyz"); obj2.propertyA = obj2.propertyA + "@@@"; obj2.methodA("+++"); obj2.methodB("+++"); やっぱり小分けにして説明 var ExtendedFoo = function(strA, strB) { Foo.apply(this, [strA]); this.propertyB = strB; } クラス名を名前にした変数ExtendedFooを定義し、コンストラクタとなるFunctionオブジェクトを設定します。これにより、new ExtendedFoo()という記述で、オブジェクトの生成が可能になります。 コンストラクタの内部で、FunctionオブジェクトFooのapply()メソッドを呼んでいます。apply()メソッドを適用するコンテキストオブジェクトとして、this(new演算子で生成した際のコンテキストオブジェクト)を指定しています。apply()メソッドの第2引数には、Foo本来の引数を配列で指定しています。値として、strAを渡しています。 これにより、new ExtendedFoo()で生成したオブジェクトに対して、Fooの初期処理が適用されることになります(プロパティ継承とsuper()のエミュレート)。 その後、ExtendedFooの独自プロパティとなるpropertyBを、new演算子で生成した際のコンテキストオブジェクトに定義します。これにより、new ExtendedFoo()で生成したオブジェクトには、全てpropertyBが定義されることになります。 コンストラクタは、引数strBを生成したオブジェクトのpropertyAに設定します。 ExtendedFoo.prototype = new Foo(); ExtendedFooのプロパティprototypeに対して、Fooをコンストラクタとしたオブジェクトを設定しています。これにより、Fooのメソッドとなるプロパティを、ExtendedFooをコンストラクタとしたオブジェクトからも参照できるようになります(メソッド継承のエミュレート)。 ここは詳しく説明 クラス継承もどきを実現するには、new ExtendedFoo()で作成したオブジェクトのプロトタイプチェーンに、ExtendedFooのメソッドに当たるFunctionオブジェクト Fooのメソッドに当たるFunctionオブジェクト を組み込むようにします。 ExtendedFooのメソッドについては、ExtendedFoo.prototypeに、メソッドに当たるFunctionオブジェクトのプロパティを定義します。これによって、作成されたオブジェクトの__proto__にExtendedFoo.prototypeが設定されるので、プロトタイプチェーンに組み込まれます。 では、Fooのメソッドに当たるFunctionオブジェクトをプロトタイプチェーンに組み込むには?ExtendedFooの親クラスがFooという継承階層に倣って、__proto__にはExtendedFooのメソッドを、プロトタイプチェーンの親に当たる__proto__.__proto__に、Fooのメソッドが設定されるようにすれば目的は達成されます。 new Foo()で作成したオブジェクトの__proto__にFoo.prototypeが設定されるので、そのオブジェクトがnew ExtendedFoo()で作成したオブジェクトの__proto__に設定されればいいですね(Foo.prototypeにFooのメソッドが定義されているので)。 ということで、ExtendedFoo.prototypeにnew Foo()で作成したオブジェクトを設定しているのです。 ExtendedFooのメソッドは、new Foo()で作成したオブジェクトのプロパティとして設定していきます。 なお、Fooのメソッドを呼ぶ際には、new Foo()で作成したオブジェクトに設定されたFunctionオブジェクトが用いられますが、コンテキストオブジェクトはnew Foo()で作成したオブジェクトではなく、メソッド起動時に指定したオブジェクト(new ExtendedFoo()で作成したオブジェクト)です。 あと、new Foo()でコンストラクタ引数を渡していませんが、これは渡す必要が無いからです。new Foo()で生成したオブジェクトで利用したいのはFunctionオブジェクトだけであり、それ以外のプロパティは利用しないためです。 ExtendedFoo.prototype.methodA = function(mark) { alert(mark + this.propertyA + this.propertyB + mark); } ExtendedFoo.prototype.methodB = function(mark) { alert(mark + this.propertyB + mark); } コンストラクタとなるFunctionオブジェクトExtendedFooのprototype(new Foo()で生成したオブジェクト)に対して、メソッド名を名前にしたプロパティmethodAを定義し、メソッドとなるFunctionオブジェクトを設定します。これにより、new Foo()で生成したオブジェクトに対して、obj1.methodA()という表記で、メソッドとなるFunctionオブジェクトが実行できます。 methodAは、Foo.prototypeでも定義されていますが、プロトタイプチェーンの検索順序により、ExtendedFoo.prototypeで定義したほうが実行対象となります(メソッドのオーバーライドのエミュレート)。 obj1.methodA()と呼び出した際は、methodA内のthisは、obj1を指します。 また、ExtendedFooの独自メソッドとして、メソッド名を名前にしたプロパティmethodBを定義し、メソッドとなるFunctionオブジェクトを設定します。これにより、new Foo()で生成したオブジェクトに対して、obj1.methodB()という表記で、メソッドとなるFunctionオブジェクトが実行できます。 obj1.methodB()と呼び出した際は、methodA内のthisは、obj1を指します。
https://w.atwiki.jp/androtomato/pages/41.html
・概要 ざっくり解説すると、ブラウザ内で特定の動作をさせるためにページに組み込まれるスクリプト。 あなたが何気なくブラウジングしているときにもJavaScriptは機能している。 ブラウザで動作するゲームなど本当にいたるところで動作しているのでwebとは切っても切れない関係にある。 ただし、各ブラウザで仕様が違ったりするという困った性質を持ち、非常に迷惑。
https://w.atwiki.jp/sevenlives/pages/2185.html
JavaScript
https://w.atwiki.jp/blackvinegar/pages/24.html
わかった気になるJS開発手法 JavaScriptの開発手法について、おもしろく分かりやすく解説してくれているスライド CocProxy めんどくさいことしない置換プロキシー。 Webサーバ代わりになります。お手軽。 Google Closure Compiler JavaScript用コンパイラ。コードの最適化を行ってくれる。容量削減や高速化、コードの難読化の効果あり。
https://w.atwiki.jp/acvarmunit/pages/94.html
TANSY RF12(javascript) 本ページTANSY RF12へのコピペ用ページです 第二世代パーツ:KE属性 単発の攻撃力が高いライフルです。短期決戦向けに調整されています。 装弾数300,重量606,消費EN902 最高値は現時点での記録に基づく (全ての値を最高値にするのは不可能です。このグラフは最高値に近づくための目安です。) 項目 初期値 最高値 威力 1372 1784 衝撃力 744 900 リロード 41 31 ロック時間 94 74 発射速度 621 720 保障距離 170 231 ↓↓ここからjavascript↓↓ ↑↑ここまでjavascript↑↑ 厳選表 ("一段階"は一段階変化時の最高ステータス値、"最高値"は変化終了時の最高ステータス値、"差"は初期値と最高値の差) 威力型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 1592 833 41 94 696 204 差 220 89 0 0 75 34 ↓↓ここからjavascript↓↓ 変化完了5回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 1416 761 41 94 636 176 変化完了6回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 1408 758 41 94 634 175 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 1403 756 41 94 632 174 威力特化型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 1784 900 42 101 720 224 差 412 156 1 7 99 54 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 1431 766 41 95 635 178 変化完了8回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 1424 764 41 95 633 177 変化完了9回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? 41 ? ? ? 連射型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 ? ? ? ? ? ? 差 ? ? ? ? ? ? 変化完了5回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了6回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 連射特化型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 ? ? ? ? ? ? 差 ? ? ? ? ? ? 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了8回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了9回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 命中型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 ? ? ? ? ? ? 差 ? ? ? ? ? ? 変化完了5回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了6回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 命中特化型 項目 威力 衝撃 リロ ロック 速度 保障 初期値 1372 744 41 94 621 170 最高値 ? ? ? ? ? ? 差 ? ? ? ? ? ? 変化完了7回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了8回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? 変化完了9回 項目 威力 衝撃 リロ ロック 速度 保障 一段階 ? ? ? ? ? ? コメント 一段階変化時のステータス値と変化終了時のステータス値の提供をお願いします (*)一段階のステータス値はある程度の逆算が可能です。変化終了時のステータスが一番重要になります 報告テンプレート集 『変化傾向』{一段階,威力[000],衝撃[000],リロ[00],ロック[00],速度[000],保障[000],減衰[00],安定[00]} 『変化傾向』{終了時,威力[000],衝撃[000],リロ[00],ロック[00],速度[000],保障[000],減衰[00],安定[00]} 傾向: 攻: 衝: リ: ロ: 速: 距: 衰: 定: 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/api_programming/pages/54.html
下位ページ Content 変数の宣言varとlet 変数の型数値の判定整数か? 変数変換文字列→整数値 小数値→整数値 比較演算子== と === 比較する 新しい文字比較 undefined,null,0undefined null 算術演算子インクリメント、デクリメント 変数の宣言 varとlet letとvarの違い - Qiita 変数の型 普通はtypeof演算子 typeof operand https //developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/typeof 数値の判定 整数か? Number.isInteger(testValue) 変数変換 内部的には変数の型を持っているため、計算時は変数の変換が必要 文字列→整数値 parseInt(string, radix); radixは基数(なので、普段は10。とはいえ、必須入力。) string に数字以外が入っていても、「極力」整数?として判定してくれるみたい。やってみた感じだと 6a - 6 6- - 6 a6 - × だった。説明書きを読んだら、 数字と判別できるところまでやって、 判別できなくなったら、そこまでの解析結果を返す とのこと。16進数なら6aも判定してくれる parseInt() - MDN 小数値→整数値 Math.floor() とかもある parseInt(x, 10) でいいか。 Math.floor - MDN 比較演算子 比較演算子 - MDN == と === == は比較する際に、型変換ができればして、その上で比較する。 === は型まで厳密に比較する。 比較する Remember The Milkのレスポンスは、タスクがない場合などで分岐させないといけない。 ない場合は、コンソール上は undefined でかえるが、 null で判定させることもできる。← undefinedって予約語なのね。 http //qiita.com/phi/items/723aa59851b0716a87e3 新しい文字比較 Python の if A in B みたいに、B.include(A) と書ける。配列に要素が含まれるか、書ける。これを使って、どれかに当てはまる、を書ける。 https //qiita.com/suin/items/a0d1957be2113b34be5e Array.prototype.includes() undefined,null,0 変数を宣言したが、初期化していない場合は undefined になっている。(nullではない) null と undefined の違い - Qiita undefined まだ値が代入されていない変数は undefined 型 また、評価されようとしている変数が代入された値を持たないメソッドや文 値を return しなかった関数も undefined を返す undefined - MDN null null - MDN 算術演算子 インクリメント、デクリメント // インクリメント // デクリメント https //developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators
https://w.atwiki.jp/suffix/pages/254.html
変数について 変数の宣言方法 変数が定義されたか調べる方法 javascript配列 javascriptコレクション 関数について 関数の宣言方法 関数にデフォルト引数を設定する方法(省略できる引数に近い使い方) 可変引数 コールバック関数に引数を設定する クロージャ javascriptジェネレータ javascript版foreach その他 javascriptデバッグ 一定時間ごとの繰り返し