ホームページ ウェブフロントエンド jsチュートリアル JavaScriptの型、値、変数のまとめ_JavaScriptスキル

JavaScriptの型、値、変数のまとめ_JavaScriptスキル

May 16, 2016 pm 03:50 PM
javascript 価値 変数 タイプ

前書き: JavaScript データ型は、プリミティブ型とオブジェクト型の 2 つのカテゴリに分類されます。 5 つのプリミティブ タイプ: 数値、文字列、ブール値、null (空)、未定義 (未定義)。オブジェクトは属性のコレクションであり、各属性は「名前と値のペア」で構成されます (値はプリミティブ値またはオブジェクトにすることができます)。 3 つの特別なオブジェクト: グローバル オブジェクト、配列、関数。 JavaScript 言語のコアでは、日付 (Date) クラス、通常 (RegExp) クラス、およびエラー (Error) クラスの 3 つの便利なクラスも定義されています。

1 つの数字

JavaScript は整数値と浮動小数点値を区別しません。 JavaScript は 10 進整数リテラル (いわゆるリテラルはプログラム内で直接使用されるデータ値です) と 16 進値 (先頭に 0x または 0X が付きます。これは文字の o ではなく数字の 0 です) を認識できます。考えてみてください。それが文字 o の場合、そうであれば、16 進数値が識別子になります。) ECMAScript 標準は 8 進数リテラルをサポートしていませんが、JavaScript の一部の実装では、8 進数形式を使用して整数 (先頭に数字 0 が付きます) を表すことができます。筆者は、IE、Chrome、FF の 3 つのブラウザで整数を表すために 8 進数を使用しています。変数の代入も問題ありません。ただし、ECMAScript6 の厳密モードでは、8 進リテラルは明示的に禁止されています。

浮動小数点リテラルを記述するには 2 つの方法があります。 ① 実数の伝統的な書き方: 整数部分、小数点、および小数部分で構成されます。 ② 指数計算方法: つまり、実数の後に文字 e または E が続き、その後に正または負の符号が続きます。 、その後に整数の指数が続きます。

1.1 四則演算のオーバーフロー

JavaScript の算術演算では、オーバーフロー、アンダーフロー、または 0 で割り切れる場合にエラーが報告されません。

オーバーフロー: 演算結果が JavaScript が表現できる数値の上限を超える場合、結果は正の無限大または負の無限大-無限大になります。無限値の動作特性も現実と一致しています。それらに基づく加算、減算、乗算、および除算の演算結果は依然として無限値です (もちろん、その符号は保持されます): 演算結果が無限である場合。ゼロに近く、JavaScript が表現できる最小値よりも小さい値がまだ小さい場合に何が起こったのか。この場合、0が返されます。負の数値がアンダーフローした場合、特別な値「負のゼロ」が返されます。負のゼロと整数のゼロは、除数を除いて本質的に等しい (厳密な等価 === を使用してテストすることもできる):

1

2

3

4

5

var zero = 0;  //正零值

var negz = -0;  //负零值

zero === negz  //表达式返回值为true

1/zero === 1/negz 

//表达式返回值false,等价于判断正无穷大和负无穷大是否严格相等

ログイン後にコピー

0 で割り切れると、正の無限大または負の無限大が返されます。ただし、0 を 0 で除算すると、NaN (JavaScript の事前定義オブジェクト Number の NaN プロパティの値) が返されます。 NaN が返される状況は 4 つあります。 ① 0 を 0 で割った場合 ② 無限大を無限大で割った場合 ③ 任意の負の数に対して平方根演算を実行した場合 ④ 数値ではないオペランド、または数値に変換できないオペランドで算術演算子が使用された場合。

NaN 値には特別な点があります。それは、それ自体を含め、どの値とも等しくありません。変数 x が NaN であるかどうかを判断するには、次の 2 つの方法があります。 ① isNaN() 関数を使用する。 ② x != x を使用して、x が NaN である場合にのみ式の結果が true になる。 JavaScript にも同様の関数 isFinite() があり、パラメータが NaN、Infinity、または -Infinity でない場合に true を返します。

1.2 2 進浮動小数点数と丸め誤差

実数は無数にありますが、JavaScript が浮動小数点数の形で表現できるのは限られた数だけです。つまり、JavaScript で実数を使用する場合、それらは実数値の単なる近似表現にすぎないことがよくあります。 JavaScript は IEEE-754 浮動小数点数表現を使用します。これは、1/2、1/8、1/1024 などの分数を正確に表現できるバイナリ表現ですが、1/10、1/10 などの小数は表現できません。正確に。例:

1

2

3

4

5

6

7

var x = 0.3 -0.2;  //x=0.09999999999999998

var y = 0.2 - 0.1;  // y=0.1

x == y       //false

x == 0.1      //false

y == 0.1      //true

0.1 == 0.1     //true

var z = x + y;   //z=0.19999999999999998

ログイン後にコピー

  2 文本

  2.1 字符串、字符集

  字符串(string)是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。字符串的长度(length)是其所含16位值得个数。JavaScript通过字符串类型来表示文本。注意:JavaScript中并没有表示单个字符的“字符型”。要表示一个16位值,只需将其赋值给字符串变量即可。

  JavaScript采用UTF-16编码的Unicode字符集,JavaScript字符串是由一组无符号的16位值组成的序列。那些不能表示为16位的Unicode字符则遵循UTF-16编码规则——用两个16位值组成一个序列(或称作“代理项对”)表示。这意味着一个长度为2的JavaScript字符串有可能表示一个Unicode字符。注意:JavaScript定义的各式字符串的操作方法均作用于16位值,而非字符,且不会对代理项对做单独处理。书看到这里,又结合http://www.alloyteam.com/2013/12/js-calculate-the-number-of-bytes-occupied-by-a-string/上面所述,终于对Unicode字符集、UTF-8、UTF-16稍有理解。

  字符串的定界符可以是单引号或者双引号。这两种形式的定界符可以嵌套,但是不能多层嵌套(比如,双引号可以包含单引号,这时单引号中不能再包含双引号了)。正如上篇所说,一个字符串值可以拆分为数行,每行必须以反斜线(\)结束,这时反斜线和行结束符都不算是字符串内容,即字符串本身并非是多行,只是写成了多行的形式。

  注意:①在JavaScript中字符串是固定不变的(除非重新赋值),类似replace()和toUpperCase()的方法都返回新字符串,原字符串本身并没有变化;②字符串可以当做只读数组,除了使用charAt()方法来查询一个单一字符,也可以使用方括号的方式来访问字符串中的单个字符(16位值),例如:

1

2

s = "hello, world";

s[0]   //=>"h"

ログイン後にコピー

2.2 エスケープ文字

エスケープ文字の意味
o NUL 文字 (u0000)
b バックスペース文字 (u0008)
t 水平タブ(u0009)
n 改行文字 (u000A)
v 垂直タブ (u000B)
f フォームフィード文字 (u000C)
r キャリッジリターン (u000D)
" 二重引用符 (u0022)
' アポストロフィまたは一重引用符 (u0027)
\バックスラッシュ(u005C)
xXX 2 桁の 16 進数 XX
で指定される Latin-1 文字 uXXXX 4桁の16進数XXXXで指定されるUnicode文字
                                                                                                                                                                                                      注: 「」文字が表にリストされていない文字の前にある場合、「」文字は無視されます。たとえば、「#」と「#」は同等です。バックスラッシュには、複数行の文字列の各行の末尾にバックスラッシュを使用する役割もあることを忘れないでください。

3 ブール値

JavaScript の値はブール値に変換できます。このうち、null、unknown、0、-0、NaN、""(空文字列)の6つの値はfalse、falseに変換され、これら6つの値をすべて「false値」と呼ぶこともあります。オブジェクト (配列) を含むその他の値は true に変換され、true およびこれらの値は「true 値」と呼ばれます。注: Boolean には toString() メソッドが含まれているため、このメソッドを使用して文字列を「true」または「false」に変換できますが、他の便利なメソッドは含まれていません。

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

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

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? ビデオ マトリックス アカウントを作成するにはどうすればよいですか?どのようなタイプのマトリックスアカウントがありますか? Mar 21, 2024 pm 04:57 PM

ショートビデオプラットフォームの人気に伴い、ビデオマトリックスアカウントマーケティングが新たなマーケティング手法となっています。企業や個人は、さまざまなプラットフォームで複数のアカウントを作成および管理することで、ブランドのプロモーション、ファンの増加、製品の販売などの目標を達成できます。この記事では、ビデオ マトリックス アカウントの効果的な使用方法について説明し、さまざまな種類のビデオ マトリックス アカウントを紹介します。 1. ビデオ マトリックス アカウントを作成するにはどうすればよいですか?優れたビデオ マトリックス アカウントを作成するには、次の手順に従う必要があります。 まず、ブランド コミュニケーション、ファンの増加、製品の販売など、ビデオ マトリックス アカウントの目標を明確にする必要があります。明確な目標を持つことは、それに応じた戦略を立てるのに役立ちます。 2. プラットフォームの選択: 対象視聴者に基づいて、適切なショートビデオ プラットフォームを選択します。現在主流のショートビデオプラットフォームには、Douyin、Kuaishou、Huoshan Videoなどが含まれます。

Javaのインスタンス変数とは何ですか Javaのインスタンス変数とは何ですか Feb 19, 2024 pm 07:55 PM

Java のインスタンス変数は、メソッドやコンストラクターではなく、クラスで定義された変数を指します。インスタンス変数はメンバー変数とも呼ばれ、クラスの各インスタンスにはインスタンス変数の独自のコピーがあります。インスタンス変数はオブジェクトの作成時に初期化され、その状態はオブジェクトの存続期間全体にわたって保存および維持されます。インスタンス変数定義は通常、クラスの先頭に配置され、パブリック、プライベート、プロテクト、またはデフォルトのアクセス修飾子など、任意のアクセス修飾子を使用して宣言できます。それは私たちがこれをどうしたいかによって決まります

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

Python 構文のマインド マップ: コード構造の深い理解 Python 構文のマインド マップ: コード構造の深い理解 Feb 21, 2024 am 09:00 AM

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

MD5ハッシュ値とは何ですか? MD5ハッシュ値とは何ですか? Feb 18, 2024 pm 08:50 PM

MD5値とは何ですか?コンピューター サイエンスでは、MD5 (MessageDigestAlgorithm5) は、メッセージのダイジェストまたは暗号化に使用される一般的に使用されるハッシュ関数です。通常は 32 ビットの 16 進数で表される、固定長の 128 ビットの 2 進数を生成します。 MD5 アルゴリズムは、1991 年に Ronald Rivest によって設計されました。 MD5 アルゴリズムは、暗号化の分野ではもはや安全ではないと考えられていますが、データ整合性検証やファイル検証では依然として広く使用されています。

C言語のconstを深く理解する C言語のconstを深く理解する Feb 18, 2024 pm 12:56 PM

C の const の詳細な説明とコード例 C 言語では、const キーワードを使用して定数を定義します。これは、プログラムの実行中に変数の値を変更できないことを意味します。 const キーワードは、変数、関数パラメータ、関数の戻り値を変更するために使用できます。この記事では、C 言語での const キーワードの使用法を詳細に分析し、具体的なコード例を示します。 const 変更された変数 const を使用して変数を変更する場合、その変数は読み取り専用変数であり、値が割り当てられると変更できないことを意味します。例: 定数

jQuery の使用法: 変数が空かどうかを判断するいくつかの方法 jQuery の使用法: 変数が空かどうかを判断するいくつかの方法 Feb 27, 2024 pm 04:12 PM

jQuery は Web 開発で広く使用されている JavaScript ライブラリで、Web ページ要素を操作したりイベントを処理したりするためのシンプルで便利なメソッドを多数提供します。実際の開発では、変数が空かどうかを判断する必要がある場面によく遭遇します。この記事では、jQuery を使用して変数が空かどうかを判断する一般的な方法をいくつか紹介し、具体的なコード例を添付します。方法 1: if ステートメントを使用して、varstr="";if(str){co を決定します。

See all articles