検索
ホームページウェブフロントエンドjsチュートリアル「JavaScript による高度なプログラミング」の講義 1 -- 基本概念

「JavaScript による高度なプログラミング」という本をこれまでに何度か読んだことがありますが、最後まで読み終えたことはありません。これから徹底的に読んで、各章についてのメモと私自身の感想を記録します!

最初の3章は比較的簡単な内容なので、1章にまとめて学習過程を記録します。

1. 基本概念

1. JavaScript と ECMAScript の関係

JavaScript には ECMAScript だけでなく、DOM (Document Object Model)、BOM (Browser Object Model) も含まれると理解できます

2 <script> タグ </script>

  • 属性: async defer charset type src

defer と async の違い: (外部スクリプト ファイルにのみ適用されます)

async または defer はありません。タグは順番に分析されます。ブラウザは、script タグの下のドキュメント要素をレンダリングする前に、指定されたスクリプトを即座にロードして実行します。これは、後続のドキュメント要素がロードされるのを待たずに、読み取られるとすぐにスクリプトをロードして実行することを意味します。 。

async を使用すると、後続のドキュメント要素のロードとレンダリングのプロセスは、js のロードと実行と並行して実行されます (非同期)。

defer の場合、後続のドキュメント要素のロードとレンダリングのプロセスは、js のロードと実行と並行して実行されます。 js の読み込み (非同期)、ただし、js の実行は、すべての要素が解析された後、DOMContentLoaded イベントがトリガーされる前に完了する必要があります。青い線はネットワーク読み取りを表し、赤い線は実行時間を表します。どちらもスクリプトに対するものです。緑色の線は HTML 解析を表します。

クリックして詳細分析

タグの位置:

または 要素のコンテンツの後ろに配置できます
  • ドキュメントモード: (混合モードと標準モードに分けることができます)

  • IE のブラウザ モードとドキュメント モードの違い:

  • ブラウザ モード: ブラウザのバージョンと IE の条件付きコメントに影響します
ドキュメント モード: IE の植字エンジンと DOM レンダリングに影響します

詳細分析 クリック可能

3データ型

5 つの単純なデータ型: 文字列、数値、ブール、Null、未定義 1 つの複雑なデータ型: オブジェクト

typeof 演算子は変数のデータ型を検出し、文字列を返します

注: typeof null は 'object を返します'、null は空のオブジェクト参照とみなされます

Typeof は、変数が初期化または宣言されていない場合、未定義を返します ----- ブール型

データ型

真の値に変換に変換false 値ブールtru​​efalse文字列空でない文字列空の文字列数値0 NaNnull未定義
ゼロ以外の数値(含む)無限)
オブジェクト 任意のオブジェクト
未定義 該当なし

-----数値型

jsの浮動小数点数の計算は正確ではありません、慎重に使用してください〜

isFinite() 数値が最小値と最大値の間にあるかどうかを判定します

NaNは数値ではなく、何かと同じである 等しくない、それ自体も含む isNaN()

数値以外の値を数値に変換: Number() Number('') 0 Number(null) 0

parseInt() parseFloat () 最初の文字が数字やマイナス記号でない場合は、 NaN parseInt('') NaN parseInt(null) NaN

----- String型

文字列を変換するメソッド:toString() これnull と未定義以外はメソッドが使用可能 String() は任意の値を変換可能 型の値は文字列と演算子 +'' に変換されます

----- オブジェクト型

Object の各インスタンスは以下の属性とメソッドを持ちます

コンストラクター: 現在のオブジェクトの作成に使用された関数を保存します

hasOwnProperty(propertyName): 現在のオブジェクトのインスタンスにプロパティが存在するかどうか

isPrototypeOf(object): 受信したオブジェクトが別のオブジェクトのプロトタイプであるかどうか

propertyIsEnumerable(propertyName) ): for-in ステートメントを使用してプロパティを列挙できるかどうか

toLocaleString()

toString(): オブジェクトの文字列表現を返します

valueOf(): オブジェクトの文字列、数値、またはブール表現を返します

4. Operator

var age = 10; var newAge = ++age); //11 console.log(newAge);最初に age+1 を指定し、次に newAge に値を割り当てます

var age = 10; console.log(age); //10 age が最初に割り当てられ、次に加算されます。つまり、最初に値を newAge に割り当て、次に age+1

----- ビット単位の演算子

ビット単位の NOT (~) は、オペランドの負の値が次のように減らされることを意味します。 1

ビットごとのAND(&)は両方の値の対応するビットが1の場合のみ1を返し、どのビットも0でも結果はすべて0になります

ビットごとのOR(|)は1つのビットが1の場合に1を返します

ビットごとXOR (^) は、2 つの値の対応するビットに 1 が 1 つだけある場合にのみ 1 を返します。 左シフト (

符号付き右シフト (>>) 符号ビット値を使用して空のビットを埋めます

符号なし右シフト (>>>)空のビットを 0 で埋める

----- ブール演算子

論理 NOT (!)

論理 AND (&&) 短絡演算子、つまり、最初のオペランドが false と評価された場合、2 番目のオペランドは評価されました

eg:console.log(1 && 2 && 3); //3

論理和 (| |) 短絡演算子、つまり、最初のオペランドが true と評価された場合、2 番目のオペランドは評価されません

eg:console.log(1 || 2 || 3); //1

----- 等価演算子

null >= 0 //true null == 0 //false 理由: リレーショナル演算子は比較する際に数値に変換されますが、等価演算子は変換されません

null == 未定義 //true null == 0 //false 未定義 == 0 //false

==のみ値を比較 ===両方の値と型を比較します

以前のインタビューで質問したように、質問: var a = 1, b = 1; var c = {a:1}, d = {a:1; console.log(a == b); console.log(c == d); // true false false

代入にカンマ式を使用すると、常に式内の最後の項目が返されます。例: :var num=(1,2,3); //3

5 , ステートメント

do{} while () ステートメント while() {} ステートメント switch ステートメント

for-in ステートメント: オブジェクトのプロパティを列挙するために使用できます。プロパティを返す順序はブラウザによって異なります。ステートメント: ループを終了し、ループの後のステートメントを実行します。 続行: このループを抜けて、次のループを実行します。

引数オブジェクトは、パラメーターの配列にアクセスできます。 length 属性を使用して、arguments[0]... を通じて取得されます

戻り値を指定していない関数は、未定義の値を返します。これが、Chrome コンソールにいくつかのコマンドを入力すると、unknown が返される場合がある理由です~

以上が「JavaScript による高度なプログラミング」の講義 1 -- 基本概念の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

js字符串转数组的方法:1、使用“split()”方法,可以根据指定的分隔符将字符串分割成数组元素;2、使用“Array.from()”方法,可以将可迭代对象或类数组对象转换成真正的数组;3、使用for循环遍历,将每个字符依次添加到数组中;4、使用“Array.split()”方法,通过调用“Array.prototype.forEach()”将一个字符串拆分成数组的快捷方式。

js中new操作符做了哪些事情js中new操作符做了哪些事情Nov 13, 2023 pm 04:05 PM

js中new操作符做了:1、创建一个空对象,这个新对象将成为函数的实例;2、将新对象的原型链接到构造函数的原型对象,这样新对象就可以访问构造函数原型对象中定义的属性和方法;3、将构造函数的作用域赋给新对象,这样新对象就可以通过this关键字来引用构造函数中的属性和方法;4、执行构造函数中的代码,构造函数中的代码将用于初始化新对象的属性和方法;5、如果构造函数中没有返回等等。

入门Java爬虫:认识其基本概念和应用方法入门Java爬虫:认识其基本概念和应用方法Jan 10, 2024 pm 07:42 PM

Java爬虫初探:了解它的基本概念与用途,需要具体代码示例随着互联网的快速发展,获取并处理大量的数据成为企业和个人不可或缺的一项任务。而爬虫(WebScraping)作为一种自动化的数据获取方法,不仅能够快速地收集互联网上的数据,还能够对大量的数据进行分析和处理。在许多数据挖掘和信息检索项目中,爬虫已经成为一种非常重要的工具。本文将介绍Java爬虫的基本概

用JavaScript模拟实现打字小游戏!用JavaScript模拟实现打字小游戏!Aug 07, 2022 am 10:34 AM

这篇文章主要为大家详细介绍了js实现打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

php可以读js内部的数组吗php可以读js内部的数组吗Jul 12, 2023 pm 03:41 PM

php在特定情况下可以读js内部的数组。其方法是:1、在JavaScript中,创建一个包含需要传递给PHP的数组的变量;2、使用Ajax技术将该数组发送给PHP脚本。可以使用原生的JavaScript代码或者使用基于Ajax的JavaScript库如jQuery等;3、在PHP脚本中,接收传递过来的数组数据,并进行相应的处理即可。

js是什么编程语言?js是什么编程语言?May 05, 2019 am 10:22 AM

js全称JavaScript,是一种具有函数优先的轻量级,直译式、解释型或即时编译型的高级编程语言,是一种属于网络的高级脚本语言;JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式,如函数式编程。

js原生选择器有哪些js原生选择器有哪些Oct 16, 2023 pm 03:42 PM

js原生选择器有getElementById()、getElementsByClassName()、getElementsByTagName()、querySelector()和querySelectorAll()等。详细介绍:1、getElementById()通过元素的唯一标识符来选择元素,它返回具有指定ID的元素作为结果等等。

学会使用5个常用的Java工作流框架的基本概念和用法:从入门到精通学会使用5个常用的Java工作流框架的基本概念和用法:从入门到精通Dec 27, 2023 pm 12:26 PM

从零开始:掌握5个Java工作流框架的基本概念与用法引言在软件开发领域,工作流是一种重要的概念,用于描述和管理复杂的业务流程。Java作为一种广泛应用的编程语言,也有许多优秀的工作流框架供开发者选择。本文将介绍5个Java工作流框架的基本概念与用法,帮助读者快速上手。一、ActivitiActiviti是一个开源的BPM(BusinessProcessM

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

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター