この記事では主に JavaScript の式と演算子を紹介します。必要な友人は参照してください。
JavaScript スクリプト言語では、単項演算子、ブール演算子、算術演算子、関係演算子、三項演算子など、データ値の操作に使用される一連の演算子について説明します。 、ビットごとの演算子、代入演算子。
式とは、変数名 (またはリテラル) と演算子を含む JavaScript 言語の「フレーズ」です。最も単純な式はリテラルまたは変数名です。もちろん、単純な式を組み合わせて複雑な式を作成する方法もあります。
1。同じ。ただし、代入演算中に、インクリメント演算子またはデクリメント演算子が前にある場合は、先行する演算子が最初に累積または減分されてから割り当てられ、後置演算子の場合は、値が最初に割り当てられてから、累積または減分されます。
(2) 加減算演算子は、正負の演算に使用され、数値列を数値形式に変換する機能もあります。
var box1=100; ++box1;//相当于box=box+1 document.write("box1="+box1+"<br/>");//输出box1=101 var box2=100; --box2;//相当于box=box2-1 document.write("box2="+box2);//输出box2=99
2. 算術演算子
JavaScript 言語で指定される算術演算子は、+、-、*、/、% (剰余) の 5 つです。算術演算子の値が数値ではない場合は、最初に Number() 変換関数を使用して数値に変換されます (暗黙的な変換)。
var box=100;
var age=++box;//box先累加1为101,再赋值给age为101
var height=box++;//box先赋值给height为101,box再累加为102
document.write("age="+age+"<br/>");//输出age=101
document.write("height="+height+"<br/>");//输出height=101
document.write("box="+box);//输出box=102,原因是box经过了两次累加,所以是102
どうしてですか? JavaScript 言語で算術演算を実行する場合、そのいずれかが文字列であれば、結果は文字列に変換されます。文字列連結演算子と同等であり、加算算術演算子としてカウントできなくなりました。
var box = "20"; document.write(typeof box+"<br/>"); //输出string var age=-box; document.write(age+"<br/>");//输出-20 document.write(typeof age); //输出number
剰余
var box=100+"100"; document.write("box="+box+"<br/>");//输出100100 document.write(typeof box);//输出string
3. 関係演算子
比較に使用される演算子は、関係演算子と呼ばれます: (より大きい)、< ;= (以下)、>= (以上)、== (相対)、!= (不等)、=== (同一または一致)、!== (一致または同一ではない) 。ほとんどの関係演算子はブール値を返します。
’ ’ s
4 2 つのオペランドのいずれかがオブジェクトの場合は、最初に value() メソッドまたは toString() メソッドを呼び出し、結果を比較します。
var box="100"-10; document.write("box="+box+"<br/>");//输出90 var age=5/4; document.write("age="+age+"<br/>");//输出1.25 var height=("你的年龄是:"+(10+10));//括号强制优先级 document.write(height);//输出你的年龄是:20
等号と不等号の比較では、オペランドが数値以外の場合、次の規則に従います:
1. オペランドがブール値の場合、数値に変換されます。 false は 0 に変換され、true は 1 に変換されます。
3. 1 つのオペランドがオブジェクトの場合は、最初に value() メソッドまたは toString() メソッドを呼び出してから比較します。
4 変換を行わなければ、null と unknown は等しいです
6 両方のオペランドはオブジェクトであり、それらがオブジェクトであるかどうかを比較します両方が同じオブジェクトを指している場合は true を返し、それ以外の場合は false を返します 7 合同と合同の判定では、例えば値と型が等しい場合は true を返し、それ以外の場合は true を返します。ファスレ。
var box1='2'==2; document.write(box1+"<br/>");//输出true,比较的只是数值 var box2={}=={}; document.write(box2+"<br/>");//输出false,因为比较的是它们的地址,每个新创建对象的引用地址都不同。 var box3=null==undefined; document.write(box3+"<br/>");//输出true,因为均为空数值 var box4='2'===2; document.write(box4+"<br/>");//输出false,两个操作数的数据类型不相等 var box5=null===undefined; document.write(box5);//输出false,两个操作数的数据类型不相等
四逻辑运算符
JavaScript语言中的逻辑运算符通常作用于布尔值的操作,一般和关系运算符配合使用,有三个逻辑运算符:&&(逻辑与),||(逻辑或)和!(逻辑非)。
(1)&&表示两边都必须是true,才返回true。
如果两边的操作数有一个操作数不是布尔值的情况下,与运算就不一定返回布尔值,此时遵循下面的规则:
1第一个操作数是对象,则返回第二个操作数
2第二操作数是对象,则第一个操作数返回true,才返回第二个操作数,否则返回false
3一个操作数是null,则返回null
4一个操作数是undefined,则返回undefined
5如果一个运算数是对象,另一个是 Boolean 值,返回该对象
逻辑与运算符属于短路操作,如果有第一个操作数返回的是false,第二个不管是true还是false都返回false。
var box1={}&&(5>4); document.write(box1+"<br/>");//输出true var box2=(5>4)&&{}; document.write(box2+"<br/>");//输出[object Object] var box3=(3>4)&&{}; document.write(box3);//输出false
(2)||表示两边有一个是true,就返回true。
如果两边的操作数有一个操作数不是布尔值的情况下,与运算就不一定返回布尔值,此时遵循下面的规则:
1第一个操作数是对象,则返回第一个个操作数
2第一个操作数的求值结果为fasle,则返回第二个操作数
3两个操作数都是对象,则返回第一个操作数
4两个操作数都是null,则返回null
5两个操作数都是undefined,则返回undefined
6两个操作数都是NaN,则返回NaN
逻辑或运算符也属于短路操作,如果有第一个操作数返回的是true,第二个不管是true还是false都返回true。
var box1={}||(5>4); document.write(box1+"<br/>");//输出[object Object] var box2=(5>4)||{}; document.write(box2+"<br/>");//输出true var box3=(3>4)||{}; document.write(box3);//输出[object Object]
(3)!逻辑非运算符可以作用与任何值,无论这个值是什么数据类型,这个运算符都会返回一个布尔值,它的流程是:先将这个值转换成布尔值,然后取反,规则如下:
1操作数是一个对象,返回false
2操作数是一个空字符串,返回true
3操作数是一个非空字符串,返回false
4操作数是数值0,返回true
5操作数是任意非0数值,返回false
6操作数是null,返回true
7操作数是NaN,返回true
8操作数是undefined,返回true
var box=!{}; document.write(box);//输出false
五、位运算符
JavaScript语言中包括了七种位运算符:~(位非),&(位与),|(位或),^(位异或),>(有符右移号),>>>(无符号右移)
(1)位非(~)运算把运算数转换成32位数字,然后把二进制数转换成它的二进制反码,最后把二进制数转换成浮点数。实质上是对数字求负,然后减去1即为所得值。
var box=~25; document.write(box);//输出-26
(2)位与(&)运算直接对数字的二进制形式进行运算,然后对上下同一位置的两个数位进行与运算,只有两个数位都为1时才得出1,其余的均为0.
var box=25&3; document.write(box);//输出1
(3)位或(|)运算也是直接对数字的二进制形式进行计算,然后对上下同一位置的两个数位进行或运算,只右两个数位都为0时才得出0,其余的均为1.
var box=25|3; document.write(box);//输出27
(4)位异或(^)也是直接对二进制形式进行运算。当只有一个数位存放的是1时,它才返回1。其余的返回0。也就是两个数位相同时返回0,不同时返回1.
var box=25^3; document.write(box);//输出26
(5)左移运算也是对二进制数进行操作,相等于第一个操作数乘以(2的左移位数次幂)的积。
var box=25<<3; document.write(box);//25左移3位相当于25乘以(2的3次幂),因此输出200
(6)有符号右移运算也是对二进制数进行操作,相等于第一个操作数除以(2的右移位数次幂)的商。
var box=24>>2; document.write(box);//输出6
(7)无符号右移运算也是对二进制数进行操作,对于正数,与有符号右移是相同的结果,但是对于负数,就会所不同。
六、赋值运算符
赋值运算符包括:=(),+=(),-=(),*=(),/=(),%=(),>=(),>>>=()。
var box=100; box+=100;//相当于box=box+100 document.write("box="+box);//输出box=200
七、其他运算符
1)、字符串运算符:“+”,它的作用是将两个字符串想加。规则:只要有一个字符串即可。
var box=100+"10"'; document.write("box="+box);//输出100100
2)、逗号运算符,可以在一条语句中执行多个操作
var box=100,age=200,height=300; document.write("box="+box);//输出box=100
3)、三元操作符:
var box=(3>4)?"对":"错"; document.write(box);//输出错
如果想更详细的了解ECMAScript运算符的知识,可以访问JavaScript高级教程中的ECMASscript一元运算符这个系列中有详细的运算符教程。对于JS的运算符来说,我们可以对比着C++,C#和Java来学,这个还是相当的容易的。
以上就是关于JavaScript的表达式与运算符的全部内容,希望对大家的学习有所帮助。
以上がJavaScriptの式と演算子の詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6
ビジュアル Web 開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
