検索

JavascriptとDHTMLの基礎知識

May 16, 2016 pm 07:03 PM
dhtmljavascript

まず、JScript.chm マニュアルをダウンロードしてください。初心者であっても専門家であっても、特に Rhino の本をめくったことがない場合は、このマニュアルが必要になります。この言語を理解するための最初の選択肢です。以下に説明する内容のほとんどは、マニュアルに記載されていない、またはほとんど記載されていない可能性があります。

以下のチュートリアルは、上記の JScript.chm マニュアルの理解に基づいて書かれています。JScript.chm を読んでいない場合は、まずダウンロードして、マニュアルを見ながら読むことをお勧めします。チュートリアル。

JS の構文は、ほとんどの C 系言語の構文に似ています。違いは独自の特性のみです。したがって、文法の具体的な内容についてはこれ以上書きません。マニュアルを読んで理解してください。

JS の 5 つの主要なオブジェクト: String、Number、Boolean、Object、Function。

4 種類の JS ループ:

for(var i=0; i<n; i++) {} 
do {} while(true); 
while(true) {} 
for (var i in collection) {}

例外処理:

try {} catch(aVariable){}

JS 構文を 1 つずつ列挙することはしませんここではほんの一部を紹介します。JS のいくつかの主要なオブジェクトの説明の一部がマニュアルに記載されていない場合があります。

1. 文字列。
文字列が最も一般的に使用されます。強制的に文字列に変換するには、少なくとも 2 つの方法があります:
1. 文字列コネクタ " " を使用します。 JS では、数値が演算の場合は加算、文字列の場合は連結です。次に例を示します。

<script> 
var a_number = 1000 
var a_string = a_number + ""; 
</script>

2. String を使用して変換を強制します (String)。

<script> 
var a_number = 1000 
var a_string = String(a_number); 
</script>

ここで注意すべき点の 1 つは、上記は強制的な変換であり、String の前に「new」キーワードがないことです。新しいキーワードを追加すると、String オブジェクトが取得されます。オブジェクトにはプロパティとメソッドを含めることができますが、文字列には含めることはできません。

<script> 
var a_number = 1000 
var a_string = String(a_number); 
a_string.property = "js"; 
alert(a_string.property) //将提示undefined 
var a_object = new String(a_number) 
a_object.property = "js"; 
alert(a_object.property) //将提示js 
</script>

したがって、new と no new には違いがあります。これは Number と Boolean にも当てはまります。そのため、この変換については今後詳しく説明しません。

2.
ここでは変革の問題についても話します。
Number を使用して変換を強制するだけでなく、parseInt および parseFloat を使用して整数型または浮動小数点型に変換することもできます。変換後に数値でない場合は NaN (Not a Number) が返されます。このとき、isNaN 関数を使用して内部の構文を確認できます。ところで、この関数を覚えておいてください。

3. ブール値。
これは、JS での処理がかなり奇妙であるため、少し面倒です。
JScript マニュアルの記載内容に加えて: "
値が true または false である式。必要に応じて非ブール式もブール値に変換できますが、次の規則に従う必要があります:

文字列が空の場合に限り、すべてのオブジェクトは true として扱われます。
数値がゼロの場合に限り、数値は false として扱われます。 🎜>" さらに、次の点にも注意してください:

まず、ブール型にキャストされる前、つまり true または false でない場合
1. デジタル条件判断では、一般に 3 つの状況があります: 0、負の数、正の数 0 以外である限り、次の例が当てはまります。



注: 上記の例の条件判定は、条件文を直接判定します。条件文を次のように変更すると、次のようになります。負の数 結果は大きく異なります。

<script> 
var a = 0; 
var b = -1; 
var c = 1; 
function assert (aVar) { 
if (aVar) alert(true); 
else alert(false); 
} 
assert(a) // false 
assert(b) // true 
assert(c) // true 
</script>

2. 文字列では、

<script> 
var a = 0; 
var b = -1; 
var c = 1; 
function assert (aVar) { 
if (aVar==true) alert(true); 
else alert(false); 
} 
assert(a) // false 
assert(b) // false 
assert(c) // true 
</script>


にも注意する必要があります。 注: 上記の例の条件判定は、条件文を直接判定します。条件文を次のように変更すると、まったく異なる結果になります。したがって、この側面に対処するときは注意してください。
これを見たらちょっとめまいがする友人もいるかもしれませんが、マニュアルに記載されているように、""、0、null、unknown のみが false になり得るようにするにはどうすればよいでしょうか?少なくとも 2 つの方法があります:
(1) 強制変換:

1. 変換には上記のブール値 (aVar) を使用します。
<script> 
function assert (aVar) { 
if (aVar) alert(true); 
else alert(false); 
} 
var a="undefined"; 
var b="false"; 
var c=""; 
assert(a) // true 
assert(b) // true 
assert(c) // false 
</script>
2. 「not 演算子」を使用して変換します。たとえば、上の例では、


は 2 つの否定を使用して aVar を Boolean(aVar) と同等の Boolean 型に変換します。
<script> 
function assert (aVar) { 
if (aVar==true) alert(true); 
else alert(false); 
} 
var a="undefined"; 
var b="false"; 
var c=""; 
assert(a) // false 
assert(b) // false 
assert(c) // false 
</script>

(2)、合同演算子。
恒等演算子は 3 つの等しい「===」であり、上記とは異なり、同じタイプの比較のみを実行します。上の例で述べたように、文字列または数値と比較した場合、両方とも true と比較されるだけです。例:



4. オブジェクト。
JS には、オブジェクトを作成するためのメソッドが少なくとも次の 2 つあります。

  <script> 
    function assert (aVar) { 
    if (!!aVar==true) alert(true); 
    else alert(false); 
    } 
    var a="undefined"; 
    var b="false"; 
    var c=""; 
    assert(a) // true 
    assert(b) // true 
    assert(c) // false 
    </script>
1. 前述したように、new キーワードを使用します。たとえば、新しい Number(100)、新しい String("string")、新しい Object()、新しい CustomFunction() などです。

この方法はマニュアルに詳しく説明されているので、ここでは詳しく説明しません。

2. 中括弧を使用することもできます。たとえば、

var o = {  
  m1:&#39;never-online.net&#39;, 
  m2:&#39;blog&#39;  
}

这种方法就比较省时省力了。利用这种方法来创建对象,需要注意的就是,
每个成员后有一个":"冒号,冒号后是该成员的内容。
其次就是,成员内容后有一个逗号",",但仅最后一个成员是没有逗号的。

五、函数(Function)。
函数在JS里的作用有两个,
一是做为一个普通函数一样被调用。
二是可以做为一个"类"(class)来使用。
第一条就没有什么可说明的了,手册上说得很清楚了,第二条就简要说明一下。
上面第四点里说到对象,除了创建JS本身的对象之外,需要创建一个类的实例,那么就必须先把“类”写出来。这个类就是Function。
比如:

<script> 
function myclass() { 
  this.m1="member--m1"; 
  this.m2="member--m2"; 
} 
var o = new myclass(); 
</script>

六、关于this和new关键字。

也许有些朋友还不太清楚这个this的作用是什么。这是面向对象里所提及的内容

这里也简单说一下,this就是“自己”的意思,而上面的的“自己”,就是指myclass。
举个例子来说myclass这个类就是一个模具,模具上有一个名字(m1),还有一个螺丝(m2),而new关键字就可以理解成“生产”。那么就可以把上面的代码理解成:

(模具 myclass)function myclass() { 
(模具myclass的名字是)this.m1="member--m1" 
(模具myclass上面的螺丝是)this.m2="member--m2"; 
}

按照模具myclass的样式生产一个产品o

var o= new myclass();

这个刚出炉的产品就有模具myclass的所有特性了。当然,我们可以按照这个模具的样式生产成千上万个。

如果我们愿意,我们还可以修改一下他的属性,比如,我生产完一个产品,想把他的名字换了。我们也可以这么做

var product = new myclass(); 
product.m1 = "newProduct"

上面这样讲解,希望能清楚一些。

基本把要说的基础知识简单的说了一些,JS的基础知识其实也有很多,知道有疏忽,但是又不便多写,写多了就烦琐了,只有走一步看一步了,看看还有什么不清楚的,才能再写出来了

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

JavaScript in Action:実際の例とプロジェクトJavaScript in Action:実際の例とプロジェクトApr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptとWeb:コア機能とユースケースJavaScriptとWeb:コア機能とユースケースApr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンの理解:実装の詳細JavaScriptエンジンの理解:実装の詳細Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Python vs. JavaScript:学習曲線と使いやすさPython vs. JavaScript:学習曲線と使いやすさApr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

DVWA

DVWA

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

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版

SublimeText3 中国語版

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

mPDF

mPDF

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