インタビュー開発のための共通の JavaScript 知識ポイントのまとめ
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++; }
var x = 1; { var x = 2; } console.log(x); // outputs 2
単純なブール型とオブジェクトのブール型: 単純なブール型の false と trueオブジェクトのブール型の true と true は同じです。次の例のように、この 2 つは等しくありません。
var b = new Boolean(false); if (b) // 返回true if (b == true) // 返回false
throw "Error2"; // 字符串类型 throw 42; // 数字类型 throw true; // 布尔类型 throw {toString: function() { return "I'm an object!"; } }; //对象类型

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック











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

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

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

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

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

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

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

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