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

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


23
JavaScriptで未定義またはnull変数を確認する方法は?
JavaScriptコードで次のコードパターンを頻繁に使用しています if (typeof(some_variable) != 'undefined' && some_variable != null) { // Do something with some_variable } 同じ効果があるより簡単なチェック方法はありますか? いくつかのフォーラムや文献によると、単に次のことは同じ効果をもたらすはずです。 if (some_variable) { // Do something with some_variable } 残念ながら、Firebugはそのようなステートメントをランタイムでのエラーとして評価しますsome_variable。これはFirebugの(望ましくない)動作のみですか、それともこれら2つの方法の間に本当に違いがありますか?

4
JavaScript:Class.methodとClass.prototype.method
次の2つの宣言の違いは何ですか? Class.method = function () { /* code */ } Class.prototype.method = function () { /* code using this.values */ } 最初のステートメントを静的メソッドの宣言と考え、2番目のステートメントをインスタンスメソッドの宣言と考えても問題ありませんか?

4
クライアント側とサーバー側のプログラミングの違いは何ですか?
私はこのコードを持っています: <script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script> これはなぜ「bar」をテキストファイルに書き込まず、「42」を警告するのですか? 注意:この質問の以前の改訂は、サーバー上のPHPとクライアント上のJavaScriptについて明示的に行われていました。問題と解決策の本質的な性質は、一方がクライアントで実行され、もう一方がサーバーで実行されている場合、どの言語ペアでも同じです(同じ言語であっても)。特定の言語について話している回答が表示された場合は、これを考慮に入れてください。

5
日付オブジェクトを複製する方法は?
Date変数を別の変数に割り当てると、参照が同じインスタンスにコピーされます。つまり、一方を変更すると、もう一方も変更されます。 実際にDateインスタンスを複製またはコピーするにはどうすればよいですか?
498 javascript 

20
コンテンツに基づいてiframeのサイズを変更する
私はiGoogleのようなアプリケーションに取り組んでいます。他のアプリケーション(他のドメイン上)のコンテンツは、iframeを使用して表示されます。 iframeのコンテンツの高さに合わせてiframeのサイズを変更するにはどうすればよいですか? 私はGoogleが使用するJavaScriptを解読しようとしましたが、難読化されており、Webの検索はこれまでのところ無意味でした。 更新:コンテンツは他のドメインから読み込まれるため、同一生成元ポリシーが適用されることに注意してください。


30
React.jsでデバウンスを実行する
React.jsでデバウンスをどのように実行しますか? handleOnChangeをデバウンスしたいのですが。 試してみましたdebounce(this.handleOnChange, 200)が動作しません。 function debounce(fn, delay) { var timer = null; return function() { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function() { fn.apply(context, args); }, delay); }; } var SearchBox = React.createClass({ render: function() { return <input type="search" name="p" onChange={this.handleOnChange} />; }, handleOnChange: function(event) { …

14
ES6クラス変数の代替
現在、ES5では、フレームワークで次のパターンを使用してクラスとクラス変数を作成しています。これは快適です。 // ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } }); ES6では、ネイティブでクラスを作成できますが、クラス変数を持つオプションはありません。 // ES6 class MyClass { const MY_CONST = 'string'; // <-- this is not possible in ES6 constructor(){ this.MY_CONST; } } 悲しいことに、クラスにはメソッドしか含めることができないため、上記は機能しません。 できることthis.myVar = trueは理解していconstructorますが、特に大きなクラスに20〜30以上のパラメーターがある場合は、コンストラクターを「ジャンク化」したくありません。 私はこの問題を処理する多くの方法を考えていましたが、まだ良いものを見つけていません。(例:ClassConfigハンドラーを作成parameterし、クラスとは別に宣言されているオブジェクトを渡します。次に、ハンドラーがクラスにアタッチされます。WeakMapsどういうわけか、統合することも考えていました。) この状況に対処するには、どのようなアイデアが必要ですか?

11
Javascript / Chrome-Webkitインスペクターからオブジェクトをコードとしてコピーする方法
JavaScriptオブジェクトをログに記録するために、JavaScriptでconsole.logステートメントを実行しています。私はそれが終わったら、そのオブジェクトをJavaScriptコードとしてコピーする方法があるかどうか疑問に思っています。私がやろうとしているのは、ajaxを使用して作成されたオブジェクトをxmlフィードを解析して静的javascriptオブジェクトに変換し、サーバーなしでファイルをローカルで実行できるようにすることです。クロムインスペクターウィンドウにオブジェクトのスクリーンショットを含めたので、私が何をしようとしているのかを確認できます。

11
typeof!==「未定義」と!= null
次のように、未定義のパラメータなどをチェックするJavaScriptコードをよく見ます。 if (typeof input !== "undefined") { // do stuff } 冗長性は言うまでもなく、型の検索と文字列の比較の両方が含まれるため、これは一種の無駄に見えます。undefined名前を変更できるので必要です。 私の質問は次のとおり です。そのコードはこのアプローチよりも優れています: if (null != input) { // do stuff } 私の知る限り、を再定義することはできないnullため、予期せず壊れることはありません。そして、!=演算子の型強制のため、これはundefinedandとnull...の両方をチェックします。これは、多くの場合、正確に必要なものです(たとえば、オプションの関数パラメーター)。 しかし、このフォームは広く普及していないようであり、JSLintが邪悪な!=演算子を使用していることを怒鳴りつけます。 なぜこれが悪いスタイルと考えられているのですか?

8
ジャスミンでエラーがスローされることを期待するテストを書く方法は?
エラーが予想されるJasmine Test Frameworkのテストを記述しようとしています。現時点では、GitHubのJasmine Node.js統合を使用しています。 私のノードモジュールには、次のコードがあります。 throw new Error("Parsing is not possible"); 今、私はこのエラーを期待するテストを書こうとします: describe('my suite...', function() { [..] it('should not parse foo', function() { [..] expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible")); }); }); 私もError()いくつかの他のバリアントを試しましたが、それを機能させる方法を理解できませんでした。

21
ブラウザがファイルのダウンロードを受信したときに検出する
ユーザーが動的に生成されたファイルをダウンロードできるページがあります。生成に時間がかかるので、「待機中」のインジケーターを表示したいと思います。問題は、ブラウザーがファイルを受信したことを検出する方法がわからないため、インジケーターを非表示にできることです。 サーバーにPOSTする非表示のフォームでリクエストを作成し、その結果の非表示のiframeをターゲットにしています。これは、ブラウザウィンドウ全体を結果で置き換えないためです。ダウンロードが完了したときに発生することを期待して、iframeで「ロード」イベントをリッスンします。 「Content-Disposition:attachment」ヘッダーをファイルとともに返します。これにより、ブラウザーに「保存」ダイアログが表示されます。ただし、ブラウザはiframeで「ロード」イベントを発生させません。 私が試したアプローチの1つは、マルチパート応答を使用することです。そのため、空のHTMLファイルと添付のダウンロード可能なファイルが送信されます。例えば: Content-type: multipart/x-mixed-replace;boundary="abcde" --abcde Content-type: text/html --abcde Content-type: application/vnd.fdf Content-Disposition: attachment; filename=foo.fdf file-content --abcde これはFirefoxで機能します。空のHTMLファイルを受け取り、「load」イベントを発生させ、ダウンロード可能なファイルの「保存」ダイアログを表示します。しかし、IEとSafariでは失敗します。IEは「load」イベントを起動しますが、ファイルをダウンロードしません。Safariはファイルをダウンロードし(名前とコンテンツタイプが間違っています)、「load」イベントを起動しません。 別の方法として、ファイルの作成を開始する呼び出しを行い、準備ができるまでサーバーをポーリングし、作成済みのファイルをダウンロードするという方法もあります。しかし、サーバー上に一時ファイルを作成することは避けたいです。 誰かがより良いアイデアを持っていますか?
488 javascript  http  mime 

15
node.jsでファイルをコピーする最速の方法
私が取り組んでいるプロジェクト(node.js)は、ファイルシステムでの多くの操作(コピー/読み取り/書き込みなど)を意味します。どの方法が最速か知りたいのですが、アドバイスをいただければ幸いです。ありがとう。

9
ES6ジェネレーターでredux-sagaを使用する場合とES2017 async / awaitでredux-thunkを使用する場合の長所/短所
現在、reduxタウンの最新の子供であるredux-saga / redux-sagaについての話はたくさんあります。アクションをリッスン/ディスパッチするためにジェネレーター関数を使用します。 頭redux-sagaをredux-thunk抱える前に、async / awaitで使用している以下のアプローチの代わりに、使用の賛否両論を知りたいと思います。 コンポーネントは次のようになります。通常どおりアクションをディスパッチします。 import { login } from 'redux/auth'; class LoginForm extends Component { onClick(e) { e.preventDefault(); const { user, pass } = this.refs; this.props.dispatch(login(user.value, pass.value)); } render() { return (<div> <input type="text" ref="user" /> <input type="password" ref="pass" /> <button onClick={::this.onClick}>Sign In</button> </div>); } } export …

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