検索

1. 単項演算子

1. 削除演算子: 以前に定義されたオブジェクトのプロパティまたはメソッドへの参照を削除します。例:

var o=new Object; 
o.name="superman"; 
alert(o.name); //输出 "superman" 
delete o.name; 
alert(o.name); //输出 "undefined"

は、name 属性を削除し、未定義 (つまり、作成された初期化されていない変数の値) に設定します。 delete は、開発者によって定義されていない (つまり、ECMAScript によって定義されている) プロパティとメソッドを削除できません。
たとえば、次のコードはエラーを引き起こします: delete o.toString(); 2. void 演算子: 任意の値に対して未定義を返します。この演算子は通常、出力すべきでない値の出力を避けるために使用されます。

例: HTML ページで Click Me

リンクをクリックすると、Web ページ内のリンクが消え、「[ object] が表示されます (IE と Firefox では、[object Window] が表示されます。Google では、リンクは同じです)。 window.open() メソッドは新しく開かれたウィンドウへの参照を返すためです。次に、オブジェクトは表示される文字列に変換されます。この結果を回避するには、void 演算子を使用して window.open() 関数を呼び出すことができます:

<a href="javascript:void(window.open(&#39;about:blank&#39;))">Click Me</a>

これにより、window.open() 呼び出しは未定義を返します。これは有効な値ではなく、ブラウザウィンドウ。

3. 前置インクリメント/前置デクリメント演算子: C での使用法と同じ。演算は式が評価される前に行われます。例: ++i; --i。

4. 後置インクリメント/後置デクリメント演算子: 後置演算子は、それらを含む式を計算した後にインクリメントまたはデクリメント演算を実行します。例: i++;

5. 単項加算と単項減算は基本的に数値には影響しません: var iNum=25; iNum=+iNum; //出力 25

単項加算演算子は文字列を計算するときに、 parseInt() と同様の方法で文字列を計算します。主な違いは、「0x」で始まる文字列 (16 進数を表す) の場合、単項演算子はそれを 10 進数値に変換できることです。したがって、「010」を単項加算で変換すると常に 10 になりますが、「0xB」は 11 に変換されます。

var sNum="25";alert(typeof sNum); //「文字列」を出力
var iNum=+sNum; //「数値」を出力
1元の減算は、値を否定します。これは 1 元と同じです。 加算演算子と同様に、単項減算演算子も文字列を近似数値に変換し、値を否定します。
var sNum = "25"; alter(typeof sNum); //「文字列」を出力
var iNum = -sNum; //「-25」を出力
alert(typeof iNum);数値"


2. ビット演算子: バイナリに関連する一連の演算子


ビット演算子 NOT は否定記号 (~) で表されます。 ビット演算子 AND はアンパサンド記号 (&) で表されます。 ビット単位の演算子 OR は記号 (|) で表されます。
ビット単位の演算子 XOR は記号 (^) で表されます。
左シフト演算は、2 つの不等号 (符号付き右シフト演算子は、2 つの大なり記号 (>>) で表されます。
符号なし右シフトは、3 つの大なり記号 (>>>) で表されます。


3. ブール演算子
ブール演算子には、NOT、AND、OR の 3 種類があります。
1. 論理否定は感嘆符 (!) で表されます。この演算子は通常、ループを制御するために使用されます。論理 OR 演算子や論理 AND 演算子とは異なり、論理 NOT 演算子はブール値を返す必要があります。論理 NOT 演算子は次のように動作します:
オペランドがオブジェクトの場合は、false を返します。
オペランドが数値 0 の場合、true を返します。
オペランドが0以外の数値の場合、falseを返します。
オペランドがnullの場合はtrueを返します。
オペランドが NaN の場合、true を返します。
オペランドが未定義の場合はエラーとなります。
例: var b = true;
while(!b){… }
2. 二重アンパサンド (&&) で表される論理 AND 演算子。結果が true になる状況は 1 つだけです: true && true = true;
論理 AND 演算のオペランドは、ブール値だけでなく、任意の型にすることができます。オペランドがプリミティブ ブール値ではない場合、論理 AND 演算は必ずしもブール値を返すとは限りません。
一方のオペランドがオブジェクトで、もう一方がブール値の場合、オブジェクトが返されます。
両方のオペランドがオブジェクトの場合は、2 番目のオブジェクトを返します。
オペランドが null の場合は、null を返します。
オペランドが NaN の場合は、NaN を返します。
オペランドが未定義の場合はエラーとなります。
最初のオペランドが false の場合、2 番目のオペランドの値が何であっても、結果が true になることはありません。
3. 論理 OR 演算子。二重縦棒 (||) で表されます。結果が false になるケースは 1 つだけです。 false || 他のケースは true です。
論理 AND 演算子と同様に、オペランドがブール値でない場合、論理 OR 演算は必ずしもブール値を返すとは限りません。
一方のオペランドがオブジェクトで、もう一方がブール値の場合、オブジェクトが返されます。
両方のオペランドがオブジェクトの場合は、最初のオブジェクトを返します。
オペランドが null の場合は、null を返します。
オペランドが NaN の場合は、NaN を返します。
オペランドが未定義の場合はエラーとなります。
論理 OR も単純な演算です。論理 OR 演算子の場合、最初のオペランドの値が true の場合、2 番目のオペランドは計算されません。


4. 乗算演算子
1. アスタリスク (*) で表される乗算演算子は、2 つの数値を乗算するために使用されます。ただし、特別な値を扱う場合、ECMAScript の乗算にもいくつかの特別な動作があります。
オペランドがすべて数値の場合、通常の乗算​​演算が実行され、結果が大きすぎるか小さすぎる場合、生成される結果は Infinity または -Infinity になります。
オペランドが NaN の場合、結果は NaN になります。
無限大に 0 を掛けると、結果は NaN になります。
Infinity 0 以外の数値を乗算すると、結果は Infinity または -Infinity になり、2 番目のオペランドの符号によって決まります。
2. スラッシュ (/) で表される除算演算子は、最初の数値を 2 番目の数値で除算します。特殊な値の場合、特殊な動作は次のとおりです。
オペランドがすべて数値の場合、結果が大きすぎるか小さすぎる場合、生成される結果は Infinity または -Infinity になります。
オペランドが NaN の場合、結果は NaN になります。
0 は非無限数を除算し、結果は NaN になります。
無限大は 0 以外の数値で除算され、結果は第 2 オペランドの符号によって決まる無限大または -無限大になります。
3. パーセント記号 (%) で表されるモジュロ演算子。オペランドが両方とも数値の場合は、通常の算術除算を実行し、剰余を返します。特別な動作:
被除数が無限であるか、除数が 0 の場合、結果は NaN になります。
除数が無限数の場合、結果は被除数になります。
配当が0の場合、結果は0になります。


5. 加算演算子
1. 加算演算子 (+)、特別な動作:
オペランドが NaN の場合、結果は NaN になります。
無限大プラス -無限大、結果は NaN になります。
オペランドが文字列の場合、次のルールが適用されます:
両方のオペランドが文字列の場合、2 番目の文字列を最初の文字列に連結します。
一方のオペランドのみが文字列の場合、もう一方のオペランドを文字列に変換すると、結果は 2 つの文字列が連結された文字列になります。
2. 減算演算子 (-)、両方のオペランドが数値の場合、算術減算が実行されます。特別なルール:
オペランドが NaN の場合、結果は NaN になります。
オペランドは数値ではないため、結果は NaN になります。


六、关系运算符
关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。每个关系运算符都返回一个Boolean值。
对于字符串,第一个字符串中每个字符的代码都会与第二个字符串中对应位置上的字符的代码进行数值比较。
1、大写字母的代码都小于小写字母的代码,所以要得到按照真正的字母顺序比较结果,必须把两个运算数转换成相同的大小写形式,再进行比较。
2、在比较两个字符串形式的数字时,比较的是它们的字符代码。
3、比较一个字符串和数字,ECMAScript都会把字符串转换为数字,然后按照数字顺序比较它们。如果字符串不能转换成数字,那么返回NaN,任何包含NaN的关系运算都要返回false。因此,这样会返回false。 


七、等性运算符 

1、等号(==) 和非等号(!=),为确定两个运算数是否相等,这两个运算符都会进行类型转换。执行类型转换的基本规则如下:
如果一个运算数是Boolean值,在检查相等性之前,把它转换成数字值。False转换成0,true转换成1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查等性之前,要尝试把对象转换成字符串(调用toString()方法)。
如果一个运算数是对象,另一个是数字,在检查等性之前,要尝试把对象转换成数字。
在进行比较时,该运算符还遵守下列规则:
值null和undefined相等。
在检查相等性时,不能把null和undefined转换成其他值。
如果某个运算数是NaN,等号将返回false,非等号将返回true。即使两个运算数都是NaN,等号仍然返回false,因为根据规则,NaN不等于NaN。
如果两个运算数都是对象,那么比较的是他们的引用值。如果两个运算数指向同一个对象,那么等号返回true,否则两个运算数不等。 

2、全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是他们在检查相等性前,不执行类型转换。
全等号由三个等号(===)表示,只有在无需类型转换运算数就相等的情况下,才返回true。

var sNum="55"; var iNum=55; alert(sNum==iNum); //输出 "true" 
alert(sNum===iNum); //输出 "false"

非全等号由两个感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回true。

var sNum="55"; var iNum=55; alert(sNum != iNum); //输出 "false" 
alert(sNum !== iNum); //输出 "true"


八、其他运算符
1、条件运算符,即三元运算符 : variable = boolean_expression ? true_value : false_value;
2、赋值运算符(=) 复合赋值运算符:+=、-=、*=、/=、%=、>=、>>>=
3、逗号运算符 用逗号运算符可以在一条语句中执行多个运算。 如: var iNum1=1,iNum2=2;

以上がJavaScript の 8 種類の演算子の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScript:Web言語の汎用性の調査JavaScript:Web言語の汎用性の調査Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの進化:現在の傾向と将来の見通しJavaScriptの進化:現在の傾向と将来の見通しApr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

javascriptの分解:それが何をするのか、なぜそれが重要なのかjavascriptの分解:それが何をするのか、なぜそれが重要なのかApr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

pythonまたはjavascriptの方がいいですか?pythonまたはjavascriptの方がいいですか?Apr 06, 2025 am 12:14 AM

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境