タグ付けされた質問 「javascript」

ECMAScript(JavaScript / JS)とそのさまざまな方言/実装(ActionScriptを除く)でのプログラミングに関する質問。このタグが単独で使用されることはほとんどありませんが、ほとんどの場合、[node.js]、[jquery]、[json]、および[html]タグに関連付けられています。

3
JavaScript-myArray.forEachとforループのニュアンス
私は使用を提案する多くの質問を見てきました: for (var i = 0; i < myArray.length; i++){ /* ... */ } の代わりに: for (var i in myArray){ /* ... */ } 配列の場合、一貫性のない反復のため(ここを参照)。 しかし、オブジェクト指向ループを好むように見えるものを見つけることができないようです: myArray.forEach(function(item, index){ /* ... */ }); これは私にはもっと直感的に思えます。 現在のプロジェクトでは、IE8の互換性が重要であり、Mozillaのポリフィルの使用を検討していますが、これがどのように機能するかは100%わかりません。 標準のforループ(上記の最初の例)と最近のブラウザーによるArray.prototype.forEach実装の間に違いはありますか? 最近のブラウザーの実装と上記にリンクされているMozillaの実装(特にIE8に関連)の間に違いはありますか? パフォーマンスはそれほど問題ではなく、反復されるプロパティとの一貫性のみです。

6
「$()。ready(handler)」が推奨されないのはなぜですか?
以下からのjQuery APIドキュメントサイトについてready 次の3つの構文はすべて同等です。 $(document).ready(handler) $()。ready(handler)(これは推奨されません) $(ハンドラ) 宿題- ソースコードを読んで遊んだ後、なぜなのかわからない $().ready(handler) 推奨されません。1番目と3番目の方法はまったく同じです。3番目のオプションは、キャッシュされたjQueryオブジェクトのready関数を次のように呼び出しますdocument。 rootjQuery = jQuery(document); ... ... // HANDLE: $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) { return rootjQuery.ready( selector ); } しかし、ready関数は、選択したノード要素のセレクターと相互作用しません。readyソースコード: ready: function( fn ) { // Attach the listeners jQuery.bindReady(); // Add …

3
Reduxと反応しますか?「コンテキスト」の問題はどうですか?
私は通常、スタックにコード関連のものを投稿しますが、これはコミュニティの一般的な考えについての質問です。 データ/状態を管理するためにReactでReduxを使用することを主張する人はたくさんいるようですが、両方を読んで学習しているときに、見た目がよくないものに遭遇しました。 戻ってきた このページの下部:http : //redux.js.org/docs/basics/UsageWithReact.html(ストアを渡す)では、React 'Context'の "Magic"を使用することをお勧めします。 1つのオプションは、それを小道具としてすべてのコンテナーコンポーネントに渡すことです。ただし、コンポーネントがコンポーネントツリーの深いところにコンテナをレンダリングするだけで、プレゼンテーションコンポーネントを介してストアをワイヤリングする必要があるので、面倒です。 私たちが推奨するオプションは、すべてのコンテナーコンポーネントがストアを魔法のように利用できるようにするために呼び出される特別なReact Reduxコンポーネントを使用することです... 反応する React Contextページ(https://facebook.github.io/react/docs/context.html)の上部に警告があります。 コンテキストは高度で実験的な機能です。APIは将来のリリースで変更される可能性があります。 次に下部に: 明確なコードを書くときにグローバル変数を回避するのが最善であるのと同じように、ほとんどの場合、コンテキストの使用を避けるべきです... コンポーネントを介してモデルデータを渡すためにコンテキストを使用しないでください。ツリーを介してデータを明示的にスレッド化することは、理解がはるかに簡単です... そう... Reduxでは、store「props」を介して各コンポーネントに「」を渡すのではなく、Reactの「コンテキスト」機能を使用することをお勧めします。Reactは反対を推奨しますが。 また、Dan Abramov(Reduxの作成者)がFacebook(Reactの作成者)で働いているようです。 私はこのすべてを正しく読んでいますか? この問題に関する現在の一般的なコンセンサスは何ですか?

11
JSON.stringify()配列のPrototype.jsでの奇妙さ
私はjsonのシリアライズで何が問題になっているのかを理解しようとしています、私のアプリの現在のバージョンと古いバージョンを使用していて、JSON.stringify()の動作方法に驚くべき違いを見つけています(json.orgのJSONライブラリを使用しています) )。 私のアプリの古いバージョンでは: JSON.stringify({"a":[1,2]}) これをくれ; "{\"a\":[1,2]}" 新しいバージョンでは、 JSON.stringify({"a":[1,2]}) これをくれ; "{\"a\":\"[1, 2]\"}" 同じライブラリで新しいバージョンの配列の括弧を引用符で囲むように変更した可能性のあるアイデアはありますか?


6
固定領域を除いて画面全体を暗くしますか?
ユーザーがクリックする場所を正確に案内するチュートリアルを作成したいと思います。私は、画面全体をカバーしようとしている<div>以外のすべての要素を暗くなる特定の地域固定でありwidth、height、topとleft。 問題は、親の "キャンセル"方法が見つからないことですbackground-color(これも透過的です)。 以下の抜粋holeで、divは、background-colorその親のも含め、何もないはずです。 これはまったく達成できますか?何か案は? #bg{ background-color:gray; opacity:0.6; width:100%; height:100vh; } #hole{ position:fixed; top:100px; left:100px; width:100px; height:100px; } <div id="bg"> <div id="hole"></div> </div> コードスニペットを実行する結果を非表示スニペットを展開 これが私が達成しようとしていることのモックアップ画像です:
88 javascript  jquery  html  css 


10
JavaScript変数の定義:カンマとセミコロン
セミコロンではなく変数のグループを宣言するときにコンマを使用する場合の相違点や利点は何ですか。 例えば: var foo = 'bar', bar = 'foo'; 対 var foo = 'bar'; var bar = 'foo'; var最初の例の最初の変数にキーワードを指定した場合、すべての変数に渡って維持されるため、スコープに関して両方とも同じ最終結果を生成することを知っています。それは単なる個人的な好みですか、それともどちらにしてもパフォーマンス上のメリットはありますか?

1
jQuery:ページの下部に外部JSがある場合、なぜdocument.readyを使用するのですか?
ページの一番下に読み込まれる外部ファイルとして、すべてのJSを含めています。これらのファイル内には、そのように定義されたいくつかのメソッドがあり、readyイベントから呼び出します。 var SomeNamepsace = {}; SomeNamepsace.firstMethod = function () { // do something }; SomeNamepsace.secondMethod = function () { // do something else }; $(document).ready(function () { SomeNamepsace.firstMethod(); SomeNamepsace.secondMethod(); }); ただし、ready関数を削除してメソッドを直接呼び出すと、すべてが同じように機能しますが、実行速度は大幅に速くなります。かなり基本的なファイルでは、ほぼ1秒速くなります。この時点でドキュメントをロードする必要があるため(すべてのマークアップはスクリプトタグの前に来るため)、readyイベントを引き続き使用する正当な理由はありますか?

20
同期XMLHttpRequestを使用する理由はありますか?
ほとんどの人がXMLHttpRequestを使用して非同期リクエストを実行しているようですが、同期リクエストを実行する機能があるという事実は、そうする正当な理由がある可能性があることを示しています。では、その正当な理由は何でしょうか?
88 javascript  ajax 

9
クロスオリジンリクエストはHTTPでのみサポートされていますが、クロスドメインではありません
私はこのコードを使用してAJAXリクエストを作成しています: $("#userBarSignup").click(function(){ $.get("C:/xampp/htdocs/webname/resources/templates/signup.php", {/*params*/}, function(response){ $("#signup").html("TEST"); $("#signup").html(response); }, "html"); しかし、Google Chrome JavaScriptコンソールから、次のエラーが発生し続けます。 XMLHttpRequestはfile:/// C:/xampp/htdocs/webname/resources/templates/signup.phpを読み込めません。クロスオリジンリクエストはHTTPでのみサポートされます。 問題は、signup.phpファイルがすべてのWebサイトの実行元であるローカルWebサーバーでホストされているため、クロスドメインではないことです。 どうすればこの問題を解決できますか?
88 javascript 

15
jQueryのdivに対する「ハイライトの点滅」効果?
私は次のことをする方法を探しています。 <div>ページにを追加すると、ajaxコールバックが何らかの値を返します。<div>AJAX呼び出しからの値で充填され、そして<div>その後、別の先頭に付加された<div>テーブルの列として作用します。 ユーザーの注意を引き、ページに何か新しいものがあることをユーザーに示したいと思います。 を<div>点滅させたいのですが、表示/非表示ではなく、しばらくの間ハイライト/ハイライトを解除します。たとえば、5秒にします。 私はまばたきプラグインを見てきましたが、私が見る限り、それは要素でのみ表示/非表示になります。 ところで、ソリューションはクロスブラウザーである必要があり、そうです、残念ながらIEが含まれています。IEで機能させるには、おそらく少しハックする必要がありますが、全体的には機能する必要があります。

5
Angularコンパイラは何を「コンパイル」しますか?
今日はそれを聞かれ、適切な答えを出すことができませんでした。 TypescriptはJSにトランスパイルします。次に、ツリーの揺れ、「少ない」(オプション)、および展開を行うプロセスで他に何が発生します。しかし、そのようなもの(afaik)は「コンパイル」とは何の関係もありません。すべてがバンドルされ、大幅に最適化されていますが、実際にはコンパイルされていませんよね? 「事前」コンパイラーもあります。これは本当に注目に値する仕事をします。何が恋しいですか? Javascript自体はまだ解釈されていますよね?

7
jqueryで選択されたドロップダウンを無効にする
選択したjqueryプラグインを使用してスタイルを設定して機能を追加するselectdivがあります(特に検索)。divは次のようになります。 <select data-placeholder="add a foobar" id="foobar" style="width: 350px;"> <option value=""></option> </select> そして、私はこのように選択したプラグインを使用しています、 $('#foobar').chosen(); 一部のAJAXの読み込み中に、<select>div全体を無効にしたいと思います。多分このようなもので、 $('#foobar').disable() またはこれ $('#foobar').prop('disabled', true) 私はあなたがその考えを理解したと思います。 これを行う方法についてのアイデアはありますか?私は、jqueryイディオムを使用して無効にする、<select>その上にある選択されたものではなく、基になる選択を無効にするだけの無効にするなど、さまざまなことを試しました。z-indexボックスをグレー表示するために、高さのある別のdivを手動で追加することもしましたが、これは醜くてバグがある可能性が高いと思います。 助けてくれてありがとう!

16
値が関数であるかどうかのテスト
フォームの値がonsubmit関数であるかどうかをテストする必要があります。通常、形式はonsubmit="return valid();"です。これが関数であるかどうか、そしてそれが呼び出し可能かどうかを判断する方法はありますか?typeofを使用すると、それが文字列であることが返されるだけで、あまり役に立ちません。 編集:もちろん、私は「returnvalid();」を理解しています。文字列です。私はreplaceそれを「valid();」、さらには「valid()」にまで絞り込みました。どちらかが機能なのか知りたいです。 編集:これが私の問題を説明するのに役立つかもしれないいくつかのコードです: $("a.button").parents("form").submit(function() { var submit_function = $("a.button").parents("form").attr("onsubmit"); if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) { return eval(submit_function.replace(/return /,"")); } else { alert("onSubmit is not a function.\n\nIs the script included?"); return false; } } ); 編集2:これが新しいコードです。form.submit()を呼び出しても既存のonsubmitは起動されないため、まだevalを使用する必要があるようです。 var formObj = $("a.button").parents("form"); formObj.submit(function() { if ( …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.