問題タブ [strict]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 自己実行無名関数でundefinedを使用する
CoffeeScriptで自己実行型の無名関数を使用して名前空間を実装しようとしています。
JavaScriptで名前空間を宣言するにはどうすればよいですか?
http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-1/
また、「未定義」が再定義されないように保護したかったのは、それが記事で推奨されているためです。
したがって、CoffeeScriptでは、次のようなことができます。
記事で説明されている形式に近づきます。
しかし、未定義を追加しようとすると、厳密モードが原因でコンパイルエラーが発生します。
http://arcturo.github.com/library/coffeescript/07_the_bad_parts.html
「undefinedなどの特定の変数は書き込みできなくなりました」
これを回避する方法があるかどうか疑問に思いましたか?厳密モードを使用することには、私が十分に認識していない利点がある可能性があるため、厳密モードをオンのままにしておきたいと思います。しかし、それをオフにする方法をグーグルでさえ...私はnilを思いついた。
見てくれてありがとう!
javascript - jQueryコールバック-厳密な違反
私はここで概説されているときにthis
いないことについての基本的な考えを理解していますが、正直に言うと、それは少し博識になります。したがって、より平凡な言葉で:method
strict mode
私はそのようなハンドラーを持っています:
これに変更したい:
メソッドの外でstrict mode
使用しているので、それは好きではありません。this
わかりました。
ただし、myFunction
(1)さまざまなクラス/要素にアタッチされており、(2)さまざまなポイントでさまざまなクラス.off().one('keyup', myFunction)
のハンドラーをリセットするために使用しているため、ハンドラーとは別にする必要があります。one
this
では、ビジネスに違反することなく、別のコールバック関数を使用する方法を教えてください。
php - 厳格な基準: 変数のみを参照渡しする必要があります - PHP エラー
厳格な基準: 10 行目で変数のみを参照渡しする必要があります
このエラーを取り除くにはどうすればよいですか? よろしくお願いします:)
inheritance - インターフェイスを特定のクラスに制限するか、プロパティ/宣言を特定のクラス + インターフェイスに制限します
インターフェイス IDataControl があります。
次に、List<IDataControl> の変数を持つクラスがあります。
問題は、このコレクションの要素を別のフォームまたは別のコントロールの「コントロール」プロパティに追加しようとしたときです。
「IDataControl」は「Control」から継承されていないため、IDE は「最適なオーバーロードされたメソッド マッチング……」と言っています。
私はエラーを理解しており、次のようなキャストを実行できることを知っています。
しかし、キャストを必要とせず、厳密な型検証も行う「よりクリーンな」方法があるかどうかを知りたいです。
では、「IDataControl」は Control 派生オブジェクトによってのみ実装できることを示すことは可能ですか?
または、クラスとインターフェイスの変数を宣言することはできますか?
このようなもの:
ありがとう
php - JoomlaでE_STRICTを扱う
この線
私にこれを与えますE_STRICT
厳格な基準:参照により変数のみを割り当てる必要があります
これは正確にはどういう意味ですか?JFactory
ドキュメントに記載されているとおりに使用しています。心配する必要がありますか?
エラーをグーグルで検索すると、無効にするだけでよいと言っているJoomlaの人々がたくさんいますE_STRICT
。私は自分のスキルを向上させようとしているので、簡単な方法をとらないほうがいいです。
php - PHP:厳密なコードを書くことに何か利点はありますか?
を設定するerror_reporting(E_ALL | E_STRICT);
と、コードでUndefined variable
エラーが発生します。E_STRICT
それらを解決することはできますが、厳密なチェックに合格したコードを記述してからオフにするだけで、速度やメモリ使用量に違いがあるのではないかと思います。
javascript - JavaScriptストリクトモードでの「this」の動作に一貫性がない
アップデート
わかりやすくするために:@FelixKing:はい、this
呼び出したときにまだ定義されていないことを期待していました。そのwindow.foo()
理由は次のとおりです。
(ほぼ)次のものと同じです:
そしてfoo === window.foo
trueと評価された場合、両方が同じように動作することを期待します。関数が変数であり、JSがグローバルオブジェクトにフォールバックする場合(関数x内では、変数は宣言されていませんが、それを使用すると、JSは、問題の変数が見つかるまで、グローバルオブジェクトまでのすべてのスコープをバブルアップします。または、グローバルレベルで作成します)、window
オブジェクトを事前に指定するかどうかは関係ありません。しかし、そうすると、私が予期していなかった動作が変化します。
なぜこれが当てはまるのか(変数ではなくメソッドを定義している)については直感がありますが、グローバルオブジェクトの場合、それらの間にほとんど違いはありません。本当のログなど...しかし私は何var c = 'Variable'; console.log(window.c === c);
を知りたいのですか違いは実際には、そしてそれがどのように機能するか(すべてのレベルで)です。
私はそれを受け入れるfoo.apply(this,[]);
か、グローバルオブジェクトをポイントするfoo.apply(window,[]);
ように強制することを許可する準備ができていますが、 。グローバルオブジェクトをシールドするために厳格なものがある場合、これはバックドアを大きく開いたままにしていると言えます。たとえば、変数の値によっては、関数を呼び出すことがあります。そのために、厳密かどうかにかかわらず、それはグローバルオブジェクトを指すことを意味しますが、関数を直接呼び出す場合はそうではありません。つまり、私の考えでは、矛盾です。this
window.foo();
window[myVar]();
this
this
strictモードのキーワードで奇妙な動作が発生しました。誤解しないでください。厳密な関数でthis
は定義されていないことがわかっています。私が紛らわしいと思うのは、それがグローバルオブジェクト(または、さらに言えば、他のオブジェクト)を指すように強制され、strictモードによって提供されるセーフティネットを効果的に損なう可能性があることです。これには他の意味もあります。このコードを考えてみましょう:this
同じことがカスタムオブジェクトにも当てはまります。
私の意見では、これはハッキングや落とし穴の原因となる可能性があります。さらに、呼び出しがどこから来ているのかを判断するのがかなり難しくなります。foo()
グローバルオブジェクト()から呼び出された場合、そのコンテキストは、を使用して呼び出されない限り、window.foo();
もちろんに渡されません。bar
bar
bar.apply(this,[]);
発信者のコンテキストを判断するためのカットアンドドライで安全で信頼性の高い方法が必要になる理由は単純です。これらの厄介なグローバルを回避するためにクロージャーを使用していますが、同時にいくつかの設定を行っています。イベントハンドラーとして機能する関数。
ストリクトモードを使用しない、またはグローバルを設定するのは簡単な修正ですが、ストリクトモードはそのままで、パーティーにもたらすものが気に入っています(ほとんどの場合)。これがJSの進化の仕方であると固く信じており、自分の壊れたコードに煩わされたくないので、自分が泣いているのを見つけたくありませんstrict
。それはすぐには起こらないかもしれませんが、私は自分の知識を最新の状態に保ちたいと思っています。
のMDNページとstrict
JohnResigのブログ投稿を読み、DCのビデオをかなり多く見て、彼の記事をたくさん読みましたが、上記の動作の明確な説明は見つかりませんでした。私はECMAScript標準全体を読んでいません(男の子、それはとても乾燥しているので、サハラ砂漠を排水する可能性があります)が、おそらくここの誰かが私を正しい方向に向けて、これをよりよく理解するのを助けることができます。
sed - 厳密なパターンの線を見つけて印刷する方法が適切です
問題は次のとおりです。文字列 testfile のセットを含むファイルがあります。
「HD ループ」などの厳密なパターンが適切な行を見つけて、その行とその後にある文字列を出力する必要があります。つまり、結果は次のようになります。
vb.net - vb.net行を厳密な証明に翻訳するのに助けが必要
この vb.net 行を厳密な証明に変換する際に問題が発生しています
ReferenceOutput はクラスであり、datagrid1.selectedindex は datagrid で選択されたものです。これを厳密な証明行に変換するにはどうすればよいですか。次のエラーが表示されます。
ありがとう