目次
No1. 構文と型
No2. データ構造と型
No3. 制御フローとエラー処理
ホームページ ウェブフロントエンド jsチュートリアル インタビュー開発のための共通の JavaScript 知識ポイントのまとめ

インタビュー開発のための共通の JavaScript 知識ポイントのまとめ

Mar 06, 2017 pm 02:42 PM

No1. 構文と型

1. 宣言と定義

変数の型: var は変数を定義します。 const は読み取り専用の定数を定義します。
変数形式: 文字、アンダースコア「_」または $ 記号で始まり、大文字と小文字が区別されます。
変数の割り当て: 宣言されていても割り当てられていない変数を使用すると、宣言されていない変数を直接使用すると、例外がスローされます。
計算に割り当てられていない変数: 結果は NaN です。例:

var x, y = 1;
console.log(x + y); //结果为NaN,因为x没有赋值。
ログイン後にコピー

2. スコープ

変数スコープ: ES6 より前には、ブロック宣言スコープはなく、変数は関数ブロック内またはグローバルに機能しました。次のコードに示すように、入力 x は 5 です。

if (true) {
var x = 5;
}
console.log(x); // 5
ログイン後にコピー

ES6 変数スコープ: ES6 はブロック スコープをサポートしていますが、変数を宣言するには let を使用する必要があります。次のコード出力では、例外がスローされます。

f (true) {
let y = 5;
}
console.log(y); // ReferenceError: y is not defined1234
ログイン後にコピー

変数フローティング: メソッドまたはグローバル コード内で、変数が宣言される前に変数を使用すると、例外はスローされませんが、unknown が返されます。これは、JavaScript が変数宣言を関数またはグローバルの前に自動的にフローティングするためです。たとえば、次のコードは次のとおりです。

/**
* 全局变量上浮
*/
console.log(x === undefined); // logs "true"
var x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
// 打印变量myvar结果为:undefined
(function() {
console.log(myvar); // undefined
var myvar = "local value";
})();
ログイン後にコピー

上記のコードと次のコードは同等です:

/**
* 全局变量上浮
*/
var x;
console.log(x === undefined); // logs "true"
x = 3;

/**
* 方法变量上浮
*/
var myvar = "my value";
(function() {
var myvar;
console.log(myvar); // undefined
myvar = "local value";
})();
ログイン後にコピー

グローバル変数: このページでは、グローバル オブジェクトは window であるため、window.variable を通じてグローバル変数にアクセスできます。例:

version = "1.0.0";
console.log(window.version); //输出1.0.0
ログイン後にコピー

No2. データ構造と型

1. データ型

6 つの基本的な型: Boolean (true または false)、null (js は大文字と小文字が区別され、Null と NULL とは異なります)、未定義、数値、文字列、記号 (一意かつ不変としてマーク)
オブジェクトの種類: オブジェクト。
オブジェクトと関数: オブジェクトは値のコンテナとして機能し、関数はアプリケーション プロシージャとして機能します。

2. データ変換

機能: 文字列を数値に変換するには、parseInt メソッドと parseFloat メソッドを使用します。

parseInt: 関数のシグネチャは parseInt(string, radix) で、radix は 10 進数や 16 進数などのデジタル ベースを表す 2 ~ 36 の数値です。返される結果は整数または NaN です。たとえば、以下の出力結果はすべて 15 です。

parseInt("0xF", 16);
parseInt("F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt("015", 10);
parseInt(15.99, 10);
arseInt("15,123", 10);
parseInt("FXX123", 16);
parseInt("1111", 2);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
ログイン後にコピー

parseFloat: 関数シグネチャは parseFloat(string) で、戻り結果は数値または NaN です。例:

parseFloat("3.14"); //返回数字
parseFloat("314e-2"); //返回数字
parseFloat("more non-digit characters"); //返回NaN
ログイン後にコピー

3. データ型のテキスト化

テキスト化タイプ: 配列、ブール、浮動小数点、整数、オブジェクト、正規表現、文字列。
配列内の余分なカンマの状況: ["Lion", , "Angel"]、長さは 3、[1] の値は定義されていません。 ['home', , 'school', ]、最後のカンマが省略されるため、長さは 3 になります。 [ , 'home', , 'school']、長さは 4 です。 ['自宅', , '学校', , ]、長さは 4 です。
integer integer: 整数は、10 進数、8 進数、16 進数、および 2 進数で表現できます。例:

0, 117 and -345 //十进制
015, 0001 and -0o77 //八进制
0x1123, 0x00111 and -0xF1A7 //十六进制
0b11, 0b0011 and -0b11 1234 //二进制
ログイン後にコピー

浮動小数点数: [(+|-)][数字][.数字][(E|e)[(+|-)]数字]。例:

3.1415926,-.123456789,-3.1E+12(3100000000000),.1e-23(1e-24)
ログイン後にコピー

Object: オブジェクトの属性取得値は、「.property」または「[プロパティ名]」を通じて取得できます。例:

var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" };
console.log(car.manyCars.b); // Jeep
console.log(car[7]); // Mazda
ログイン後にコピー

オブジェクト属性: 属性名は任意の文字列または空の文字列にすることができ、無効な名前は引用符で囲むことができます。複合名は . では取得できませんが、[] では取得できます。例:

var unusualPropertyNames = {
"": "An empty string",
"!": "Bang!"
}
console.log(unusualPropertyNames.""); // SyntaxError: Unexpected string
console.log(unusualPropertyNames[""]); // An empty string
console.log(unusualPropertyNames.!); // SyntaxError: Unexpected token !
console.log(unusualPropertyNames["!"]); // Bang!
ログイン後にコピー

エスケープ文字: エスケープ記号「"」が使用されているため、以下の文字列出力には二重引用符が含まれています。

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";
console.log(quote);
//输出:He read "The Cremation of Sam McGee" by R.W. Service.1。
ログイン後にコピー

文字列改行メソッド: 次のように文字列行の末尾に直接「"」を追加します。 コードは次のとおりです。表示:

var str = "this string \
is broken \
across multiple\
lines."
console.log(str); // this string is broken across multiplelines.
ログイン後にコピー

No3. 制御フローとエラー処理

1. ブロック式

機能: ブロック式は、一般的に if、for、while などの制御フローに使用されます。

while (x < 10) {
x++;
}
ログイン後にコピー

ES6 より前にはブロックのスコープはありません: ES6 より前では、ブロック内で定義された変数は実際にはメソッドまたはグローバルに含まれており、変数の影響はブロックのスコープを超えています。 たとえば、次のコードは次のとおりです。ブロック内で宣言された変数がメソッドに作用するため、結果は 2 になります。

var x = 1;
{
var x = 2;
}
console.log(x); // outputs 2
ログイン後にコピー

ES6 以降はブロック スコープがあります。ES6 では、ブロック スコープ宣言 var を let に変更して、変数のスコープのみを設定できます。ブロックスコープ

2. 論理判定

falseと判定される特殊な値: false、未定義、null、0、NaN、""。

単純なブール型とオブジェクトのブール型: 単純なブール型の false と trueオブジェクトのブール型の true と true は同じです。次の例のように、この 2 つは等しくありません。

4. 例外処理

スローされる例外の構文以下に示すように、任意の型を指定できます。 例外:

var b = new Boolean(false);
if (b) // 返回true
if (b == true) // 返回false
ログイン後にコピー

2. 構文

キーワード: C# 構文と同様の try{}catch(e){}finally{} 構文を使用します。

finally 戻り値: iffinally を追加します。 return ステートメントでは、try 全体が無視されます。以下に示すように、.catch が何を返しても、戻り値は return になります。次のコードに示すように、finally return でカバーされているため捕捉されません。

throw "Error2"; // 字符串类型
throw 42; // 数字类型
throw true; // 布尔类型
throw {toString: function() { return "I&#39;m an object!"; } }; //对象类型
ログイン後にコピー
システム エラー オブジェクト: Error{name, message} オブジェクトを直接使用できます。たとえば、 throw (new Error('メッセージ'));

上記はインタビュー開発のための一般的な JavaScript に関する知識ポイントの要約です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) にご注意ください

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

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

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

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles