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

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


18
JavaScriptでディープクローンする方法
JavaScriptオブジェクトをどのようにディープクローンしますか? 私はのようなフレームワークに基づいたさまざまな機能があります知っているJSON.parse(JSON.stringify(o))と$.extend(true, {}, o)私はそれのようなフレームワークを使用する必要はありません。 ディープクローンを作成する最もエレガントで効率的な方法は何ですか。 アレイのクローンのようなエッジケースも気にします。プロトタイプチェーンを壊さず、自己参照を扱います。 DOMオブジェクトなどのコピーをサポートする必要はありません.cloneNode。その理由は、そのため存在しているからです。 私は主にディープクローンを使用したいのでnode.js、V8エンジンのES5機能を使用できます。 [編集] だれかが提案する前に、オブジェクトからプロトタイプ的に継承してコピーを作成することとそれを複製することの間には明確な違いがあります。前者はプロトタイプチェーンを混乱させます。 [さらに編集] あなたの答えを読んだ後、オブジェクト全体を複製することは非常に危険で難しいゲームであるという迷惑な発見に行きました。たとえば、次のクロージャベースのオブジェクトを考えてみましょう var o = (function() { var magic = 42; var magicContainer = function() { this.get = function() { return magic; }; this.set = function(i) { magic = i; }; } return new magicContainer; }()); var n = clone(o); …
105 javascript 

4
Chosenプラグインを使用した選択での選択の変更
Chosenプラグインを使用して、selectで現在選択されているオプションを変更しようとしています。 ドキュメンテーションカバーリストを更新し、外部から現在選択されている値を変更するにはオプションが選択されているイベントが、何を(私が見ることができる)トリガ。 私はjsFiddleを作成して、コードと、選択を変更するために試みた方法をデモンストレーションしました。 $('button').click(function() { $('select').val(2); $('select').chosen().val(2); $('select').chosen().select(2); });

9
JavaScriptによるCSS値の変更
JavaScriptでインラインCSS値を設定するのは簡単です。幅を変更したい場合、次のようなhtmlがあります。 <div style="width: 10px"></div> 私がする必要があるのは: document.getElementById('id').style.width = value; インラインスタイルシートの値が変更されます。インラインスタイルがスタイルシートをオーバーライドするため、通常これは問題ではありません。例: <style> #tId { width: 50%; } </style> <div id="tId"></div> このJavascriptを使用する: document.getElementById('tId').style.width = "30%"; 私は以下を得ます: <style> #tId { width: 50%; } </style> <div id="tId" style="width: 30%";></div> これは問題です。インライン値を変更したくないだけでなく、設定する前に幅を探した場合、 <div id="tId"></div> 返される値はNullであるため、ロジックを実行するために何かの幅を知る必要があるJavascriptがある場合(幅を特定の値ではなく1%増やします)、文字列 "50%を期待するときにNullを返します「実際には機能しません。 だから私の質問:インラインに配置されていないCSSスタイルの値があります。これらの値を取得するにはどうすればよいですか?IDを指定して、インライン値の代わりにスタイルを変更するにはどうすればよいですか?
105 javascript  html  css  ajax  dom 

3
JavaScriptのswitchステートメントで厳密な比較を想定しても安全ですか?
boolean falseまたは整数(0を含む)のいずれかである変数があります。私はそれを次のようなswitchステートメントに入れたいです: switch(my_var){ case 0: // Do something break; case 1: // Do something else break; case false: // Some other code } Google Chromeでのテストでは、問題なく動作するように見えますが、一部のブラウザでmy_varはfalse、の場合、最初のケースが実行される可能性があるため、使用するのが少し不安です0 == false。 JavaScriptに、switchステートメントで厳密な比較を使用するなどの公式の何かがあるかどうか疑問に思って0 !== falseいますが、自分では何も見つかりません。これが別のJavaScriptエンジンでうまく機能するかどうかはわかりません。switchステートメントによって行われる比較が厳密であることが保証されているかどうか誰かが知っていますか?

2
JavaScript配列のビッグO
JavaScriptの配列は、アイテムを追加したり削除したりすることで非常に簡単に変更できます。ほとんどの言語の配列は固定サイズであり、サイズを変更するには複雑な操作が必要であるという事実を多少覆っています。JavaScriptでは、パフォーマンスの低い配列コードを簡単に記述できるようです。これは質問につながります: 配列のパフォーマンスに関して、JavaScript実装から期待できるパフォーマンス(大きなO時間の複雑さに関して) 私はすべての妥当なJavaScript実装に最大で以下の大きなOがあると想定しています。 アクセス-O(1) 追加-O(n) 付加-O(n) 挿入-O(n) 削除-O(n) スワッピング-O(1) JavaScriptでは、new Array(length)構文を使用して、配列を特定のサイズに事前入力できます。(ボーナス質問:この方法で配列を作成していますO(1)またはO(n))これは従来の配列に似ており、プリサイズの配列として使用すると、O(1)を追加できます。循環バッファロジックが追加された場合、O(1)の先頭に追加できます。動的に拡張する配列が使用される場合、O(log n)は両方の平均ケースになります。 ここでの想定よりも、いくつかの点でより良いパフォーマンスを期待できますか?仕様で概説されているものはないと思いますが、実際には、すべての主要な実装が舞台裏で最適化された配列を使用している可能性があります。動的に拡張する配列または他のパフォーマンス向上アルゴリズムが機能していますか? PS 私がこれを不思議に思っているのは、いくつかの並べ替えアルゴリズムを研究しているためです。それらのほとんどは、全体的な大きなOを記述するときに、追加と削除がO(1)操作であると想定しているようです。

4
オフラインWebアプリケーションの画像データの保存(クライアント側のストレージデータベース)
appcachingを使用したオフラインWebアプリケーションがあります。主にPNG画像ファイルで構成される(クライアント側で)保存する約10MB-20MBのデータを提供する必要があります。操作は次のとおりです。 Webアプリケーションをダウンロードしてappcacheにインストール(マニフェストを使用) サーバーPNGデータファイルからのWebアプリリクエスト(方法?-以下の代替案を参照) 時々、Webアプリがサーバーと再同期し、PNGデータベースへの小さな部分的な更新/削除/追加を行います 参考:サーバーはJSON RESTサーバーであり、ピックアップのためにwwwrootにファイルを配置できます これが、バイナリBLOBストレージを処理するクライアントベースの「データベース」の私の現在の分析です 下の更新を見る AppCache(マニフェストを介してすべてのPNGを追加し、オンデマンドで更新します) CON:PNGデータベースアイテムの変更は、マニフェスト内のすべてのアイテムの完全なダウンロードを意味します(本当に悪いニュースです!) WebStorage CON:JSONストレージ用に設計 CON:base64エンコーディングを介してのみblobを格納できます(デエンコーディングのコストのため、おそらく致命的な欠陥) CON:webStorageの5MBのハード制限http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html PhoneGapとSQLLite CON:スポンサーは、認定を必要とするネイティブアプリとしてそれを拒否します ZIPファイル サーバーはzipファイルを作成してwwwrootに配置し、クライアントに通知します ユーザーは手動で解凍し(少なくともそれが私の見方です)、クライアントファイルシステムに保存する必要があります WebアプリはFileSystem APIを使用してファイルを参照します CON:ZIPが大きすぎる(zip64?)、作成に時間がかかる CON:FileSystem APIが常にサンドボックスから読み込めるかどうかわからない(そう思います) USBまたはSDカード(石器時代に戻る...) ユーザーはオフラインになる前にサーバーに対してローカルになります SDカードを挿入し、サーバーにPNGファイルを挿入させます。 次に、ユーザーはそれをラップトップ、タブレットに接続します WebアプリはFileSystem APIを使用してファイルを読み取ります CON:FileSystem APIが常にサンドボックスから読み込めるかどうかわからない(そう思います) WebSQL CON:w3cがそれを放棄した(かなり悪い) IndexedDBとWebSQLをフォールバックとして使用するJavaScriptラッパーを検討するかもしれません FileSystem API Chromeはblobの読み取り/書き込みをサポートします CON:IEとFireFoxについて明確でない(IE10、非標準のmsSaveがある) caniuse.comはIOSとAndroidのサポートを報告しています(ただし、これはJSONのr / wだけですか、それとも書き込み用の完全なblob APIが含まれていますか? CON:FireFoxの人々はFileSystem APIを嫌い、ブロブの保存をサポートしているかどうかは不明です:https : //hacks.mozilla.org/2012/07/why-no-filesystem-api-in-firefox/ PRO:jsperf http://jsperf.com/indexeddb-vs-localstorage/15(ページ2)によると、BlobのIndexedDBよりはるかに高速 IndexedDB …

7
JavaScriptを使用したHTML要素の挿入
次の構文を使用する場合、属性とイベントの各タイプの回避策を面倒に検索する代わりに、 elem = document.createElement("div"); elem.id = 'myID'; elem.innerHTML = ' my Text ' document.body.insertBefore(elem,document.body.childNodes[0]); HTML要素全体を文字列として宣言する方法はありますか?お気に入り: elem = document.createElement("<div id='myID'> my Text </div>"); document.body.insertBefore(elem,document.body.childNodes[0]);
105 javascript  html 

2
sessionStorageおよびlocalStorageのスコープ
sessionStorageとlocalStorageに関するドキュメントをいくつか読んだのですが、スコープ、ドメイン、特定のページがわかりません。 たとえば、次のページがあるとします。 http://example.com/products.aspx?productID=1 http://example.com/products.aspx?productID=2 http://example.com/services.aspx?serviceID=3 上記の各ページで実行する場合(idvalueがクエリ文字列の値です): localStorage.setItem('ID',idvalue); 最終的に3つの異なる値が保存されるのですか、それとも値が互いに上書きされるのですか?

12
2つの要素間の接続線の描画[閉じた]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3か月前に閉鎖。 この質問を改善する 2つ以上の要素を結ぶ線を描くにはどうすればよいですか?HTML / CSS / JavaScript / SVG / Canvasのどの組み合わせでも問題ありません。 あなたの答えがこれらのいずれかをサポートしている場合は、それを言及してください: ドラッグ可能な要素 ドラッグ/編集可能な接続 要素の重複回避 この質問は更新され、多数のバリエーションが統合されました。

6
react reduxでフェッチエラーに対処する最良の方法は何ですか?
クライアント用に1つ、AppToolbar用に1つ、他にいくつかの減速機があります... ここで、クライアントを削除するフェッチアクションを作成したとしましょう。失敗した場合、Clientsレデューサーに何らかの処理を行うコードがありますが、AppToolbarにグローバルエラーを表示したいとします。 しかし、クライアントとAppToolbarレデューサーは状態の同じ部分を共有せず、レデューサーで新しいアクションを作成できません。 それでは、グローバルエラーを表示するにはどうすればよいですか?ありがとう 更新1: 私はeste devstack を使用していることを忘れています 更新2: 私はエリックの答えを正しいとマークしましたが、私がエステで使用している解決策は、エリックとダンの答えを組み合わせたものに似ていると言う必要があります...コードに最適なものを見つける必要があります。 。

5
並べ替えの目的で2つの文字列をアルファベット順に比較する
並べ替えの目的で2つの文字列をアルファベット順に比較しようとしています。たとえば、のようなブール値のチェックが必要ですif('aaaa' < 'ab')。試してみましたが、正しい結果が得られないので、これは正しい構文ではないようです。jqueryまたはJavascriptでこれを行うにはどうすればよいですか?
105 javascript  jquery 

4
反応レンダリング関数で動的hrefを作成する方法は?
投稿のリストをレンダリングしています。各投稿について、href文字列の一部として投稿IDを含むアンカータグをレンダリングしたいと思います。 render: function(){ return ( <ul> { this.props.posts.map(function(post){ return <li key={post.id}><a href='/posts/'{post.id}>{post.title}</a></li> }) } </ul> ); どのように私はそれが各ポストはのhrefの持っているように行うのですか/posts/1、/posts/2などを?


8
URLの先頭の文字列を削除します
www.URL文字列の先頭から「」部分を削除したい たとえば、次のテストケースでは、 eg www.test.com→ test.com eg www.testwww.com→ testwww.com eg testwww.com→ testwww.com(存在しない場合) Regexpを使用する必要がありますか、それともスマートな機能はありますか?
105 javascript  string 

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