ホームページ  >  記事  >  ウェブフロントエンド  >  JSで比較演算子を科学的に使用する方法

JSで比較演算子を科学的に使用する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-12 16:37:381441ブラウズ

今回は、jsで比較演算子を科学的に使用する方法と、jsで比較演算子を科学的に使用するための注意点について説明します。以下は実際的なケースです。

比較演算子

最も一般的なタイプの関係演算子は比較演算子で、2 つの値の相対的な順序を決定するために使用されます。比較演算子は次のとおりです。

未満 (<) < 演算子は、最初のオペランドが 2 番目のオペランドより小さい場合は true と評価され、false と評価されます。より大きい (>)> 演算子は、最初のオペランドが 2 番目のオペランドより大きい場合、true と評価され、false と評価されます。以下 (< =)) <= 演算子は、最初のオペランドが 2 番目のオペランド以下の場合は true

と評価され、それ以外の場合は false と評価されます。以上 (=)) > = 演算子は、最初のオペランドが 2 番目のオペランド以上の場合は true

と評価され、それ以外の場合は false と評価されます。これらの比較演算子のオペランドは、任意の型にすることができます。ただし、比較は数値と文字列でのみ可能であるため、数値または文字列ではないオペランドは変換されます。比較と変換は次のとおりです。

両方のオペランドが数値である場合、または両方の数値が数値に変換される場合、それらは数値的に比較されます。

両方のオペランドが文字列であるか、文字列に変換された場合、それらは文字列として比較されます。


一方のオペランドが文字列であるか文字列に変換され、もう一方のオペランドが数値であるか数値に変換される場合、演算子は文字列を数値に変換しようとして数値比較を実行します。文字列が数値を表さない場合、


に変換され、比較は false になります。 (

JavaScript

1.1 では、文字列を数値に変換すると、nan が返される代わりにエラーが発生します。) オブジェクトが数値または文字列に変換できる場合、JavaScript は数値変換を実行します。たとえば、これは、日付オブジェクトに対して数値比較を実行し、2 つの日付がもう一方の日付より早いかどうかを比較することを意味します。


比較演算子は、オペランドを数値または文字列に正常に変換できない場合、常に false を返します。両方のオペランドが OR の場合、比較演算子に変換すると常に false が生成されます。

文字列比較

は、Unicode エンコーディングの各文字の数値を使用して、厳密に文字ごとに行われることに注意してください。 Unicode 標準では、場合によっては異なる文字シーケンスを使用して同等の文字列をエンコードできますが、JavaScript 比較演算子はこれらのエンコードの違いを検出せず、すべての文字列が正規形式で表現されていると想定します。特に、文字列の比較では大文字と小文字が区別され、Unicode エンコード (少なくとも ASCII サブセットの場合) では、すべての大文字が「小文字」より小さいことに注意してください。このルールは、予期しない場合に混乱を招く結果を招く可能性があります。たとえば、< 演算子によれば、文字列「zoo」は文字列「aardvark」よりも小さくなります。より強力な文字列比較アルゴリズムについては、文字列の localecompare() を参照してください。メソッドでは、アルファベット順に並べられた地域固有の定義も考慮されます。大文字と小文字を区別しない比較では、最初にすべての小文字または大文字の文字列を入力する必要があります。 toLowerCase()

または String.toUpperCase()。 < = (以下) および > = (以上) 演算子は、2 つの値が等しいかどうかを判断するために等価演算子や識別演算子に依存しません。代わりに、以下演算子は単に「以下」として定義され、以上演算子は「以上」として定義されます。この場合、4 つの比較演算子はすべて false を返します。演算子は、左側のオペランドが文字列に変換可能であることを期待します。右オペランドはオブジェクト (または配列) であることが想定されます。左側の値がオブジェクトのプロパティの名前である場合、true と評価されます。例: VaR point = { x: 1, Y: 1 }; // objectvar has_x_coord = "X" point; // truevar has_y_coord = "Z" を評価します。 point ; // false; 3D pointvar ts = "description" point; // 継承されたプロパティ

instanceof 演算子

これは、左側のオペランドがオブジェクトであることを期待する演算子です。 class オブジェクトの名前。演算子は true と評価されます

左側のオブジェクトが右側のクラスのインスタンスである場合、計算結果は false になります

この記事のケースを読んだ後は、メソッドを習得したと思います。さらに興味深い情報については、 PHP 中国語 Web サイトの他の関連記事にも注目してください。

関連書籍:

日常よく使う関数をJSに統合

JavaScriptでデシジョンツリーを作る方法

以上がJSで比較演算子を科学的に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。