1. 変数
1. 新しい配列 ("1"、"2") を使用して配列を定義できます。
2. 次のように、変数に null を代入してクリアできます。
//首先定义一个变量 var i1=10; i1=null; //此时的i1就被清除了
関数でこのような変数を定義する場合は注意してください
funtion demo(){ x=10; } //而此前的代码中都没有出现x,那么这里就是定义了x,在调用demo函数以后,x就是一个全局变量了。
2. 演算子 == および ===
var i="5"; var j=5; if(i==j) alert(""hello); if(i===j) alert("world");
//上記のコードのみi と j の値は等しいが、i と j のデータ型が等しくないため、実行後に hello がポップアップ表示されます。したがって、 == は等しい値のみを必要としますが、 === は等しい値を必要とするだけでなく、同じデータ型も必要とします。
3、例外キャプチャ
try{ if() throw ""; }catch(err){ alert(throw); }
4、イベント
onload Webページ読み込みイベント
onclickクリックイベント
onfocusカーソル収集イベント
onselectテキストボックス選択イベント
onmouseoverマウス通過イベント
onmouseroutマウスアウトイベント
5、dom操作
1 、はじめに: Web ページが読み込まれると、ブラウザはページのドキュメント オブジェクト モデルを作成します。
2. DOM 操作 HTML
1) js はページ内のすべての HTML 要素を変更できます
①出力ストリームを変更すると、ドキュメントのすべてのコンテンツが上書きされます。慎重に使用してください。
②要素の取得: document.getElementById();
document.getElementByClass();
document.getElementById("btn").addEventListener("click",function(){ var x=document.getElementsByName("people"); var y=x[2].value; alert(y); });③HTML コンテンツの変更: innerHTML;
④属性コンテンツの変更: オブジェクトを取得した後、Attribute = "属性値" でOKですが、setAttribute() メソッドを使用することもできます。最初のパラメーターは属性名です。 、2番目のパラメータは属性値です
document.getElementById("pid").setAttribute("class","pid2");
alert(document.getElementById("name").getAttribute("name"));domはいくつかのHTML メソッド:
1,设置属性:如var attr=document.getElementById("demo1"); attr.setAttribute("title","dhello");//设置属性 var st=attr.getAttribute("title");//得到属性 alert(st); 2.得到子节点: var child=document.getElementsByTagName("ul")[1].childNodes; alert(child.length); 3得到父节点: var parent=document.getElementsByTagName("li")[0].parentNode; alert(parent.nodeName); 4创建元素节点: var body=document.body; var inp=document.createElement("input");//创建一个input节点 inp.type="button";//节点类型 inp.value="ann"; body.appendChild(inp);//把新的子节点添加到指定节点。(添加到末尾 ) 5创建文本节点 6删除子节点:<p id="p1"> <p id="p1">这是一个段落。</p> <p id="p2">这是另一个段落。</p> </p> var parent=document.getElementById("p1");//找到 id="p1" 的元素: var child=document.getElementById("p1");//找到 id="p1" 的 <p> 元素: parent.removeChild(child);//从父元素中删除子元素: 第二种方法:var child=document.getElementById("p1"); child.parentNode.removeChild(child); 7动态添加节点(课选择添加的位置) var p=document.getElementById("p"); var node=document.getElementById("pid"); var newnode=document.creatElement("p"); p.inserBefore(newnode,node); 要添加的 在这之前的2) js はページ内のすべての HTML 属性を変更できます
<title>hello world</title>
<a id="aid"/> <p id=pid>hello world!!</p><script><p><pre class='brush:php;toolbar:false;'> document.getElementById("aid").href="www.baidu.com";//改变属性值</pre></script>
イベント ハンドルは、イベントをトリガーするアクションです。たとえば、onclick はクリックされたときのハンドルです。
イベント ハンドルを js で追加できるため、多くのコードを削減できます
たとえば、以下は従来のイベント トリガー方法です
追加します。 js コード イベント ハンドルは次のとおりです。処理関数は () 括弧を追加できません。
var x=document.getElementById("btn");
x.addEventListener("click",demo);//ここには 2 つのパラメータがあり、1 つはイベントのハンドルで、後者はイベントを処理する関数です。イベント
1) HTML イベント処理: HTML 構造に直接追加
<button onclick="demo()"><button>2) dom レベル 0 イベント処理: イベント ハンドラー属性に関数を割り当て
<button id="btn"></button> <script> var btn1=document.getElementById("btn"); btn1.onclick= function () { document.getElementById("pid").style.backgroundColor="red"; }; </script>
//レベル 0 イベント処理 イベントをクリア処理は、onclick を empty に割り当てるのと同じくらい簡単です。設定すると、オブジェクトではなくオブジェクトの時間が null に設定されます。 btn1.onclick=null;//同じイベントに複数のハンドラーがある場合、前のハンドラーは後のイベント ハンドラーによってクリアされます。
btn1.onclick= function () { document.getElementById("pid").style.backgroundColor="red";//被覆盖 }; btn1.onclick= function () { document.getElementById("pid").style.backgroundColor="blue"; };
3) dom レベル 2 イベント処理:
addEventListener("事件名",“事件处理函数”,“true/false”);
true: イベント キャプチャ
false: イベント バブリングイベント処理をクリアするには、removeEventListener() を使用します。
//dom 2 レベル イベント ハンドラーは上書きされませんが、上書きされます。分析され、段階的に実行されます。
4) IE イベント ハンドラー。 (addEventListener の使用と同様、IE8 以下のバージョンで使用されます。)
イベントを追加しますattachEvent
イベントを削除します detachEvent5) 異なるブラウザーのバージョンに応じて異なるコードを記述することができますif(btn.addEventListener){ btn.addEventListener(); } else{ btn.attachEventListener() }
3.オブジェクト: DOM イベントがトリガーされると、オブジェクトが生成されます。
イベントオブジェクトの属性:
1) type: イベントタイプを取得しますdocument.getElementById("btn").addEventListener("click",showType); function showType(e){ alert(e.type); }2) target: イベントを取得します target: このイベントがトリガーされる場所、つまり、HTML 要素内のどの要素がこのイベントのオブジェクトであるか。
document.getElementById("btn").addEventListener("click",showTarget); function showTarget(e){ alert(e.target); }
3) stopPropagation(): イベントのバブリングを防止: 最も内側の要素イベントがトリガーされますが、このイベントが発生した後、この要素を含む上位要素のイベントもトリガーされます。したがって、イベントのバブリングの発生を防ぐために、これが発生することを望まない場合があります。 event.stopPropagation();4)PreventDefault(): イベントのデフォルト動作を防止します
event.preventDefault();
//dom 0级事件处理
// var btn1=document.getElementById("btn");
// btn1.onclick= function () {
// document.getElementById("pid").style.backgroundColor="red";
// };
//
// btn1.onclick=null;
////dom 2级事件处理,处理函数不能加()括号符!
//
//var btn=document.getElementById("btn");
//btn.addEventListener("click",demo1);
//
//function demo1(){
//
//// alert("dom 2级事件处理!");
//
// document.getElementById("pid").innerHTML="dom 2级事件处理!";
//}
//事件对象
//1.获取事件对象的类型
//document.getElementById("btn").addEventListener("click",showType);
//function showType(e){
// alert(e.type);
//}
//2.获取事件对象的目标
//document.getElementById("btn").addEventListener("click",showTarget);
//function showTarget(e){
// alert(e.target);
//}
八,内置对象
1.什么是对象:js中所有事物都是对象,例如字符串,数组,时间,数值,函数等,每个对象都会带有属性和方法;
2.创建对象:
1)使用new object创建
people=new objet();
people.name="krys";
people.age=20;
2)直接创建:
people={name:"krys",age:20,addres:"guangdong"};
3)使用函数创建
funtion people(name,age){ this.name=name;this.age=age}; son=new people("jess",20);//然后创建一个对象 document.getElementById("btn").addEventListener("click",creat); function people(name,age){ this.name=name; this.age=age; } function creat(){ var name1= document.getElementById("name").value; var age1=document.getElementById("age").value; son=new people(name1,age1); alert(son.name); alert(son.age); }
3.字符串对象:String:字符串可以使用双引号也可以使用单引号!
属性:length:str.length可得到字符串的长度、
indexOf(),在字符串中查找字符串,并返回字符串所在的位置。
document.getElementById("btn").addEventListener("click",creat); function creat(){ var name= document.getElementById("name").value; if(name.match("krys")){ alert("r所在的位置是"+name.indexOf("r")); }else{ alert("sorry~you didnt have rights!") } }
match(),在字符串中匹配字符串,如果字符串1在字符串中存在,则将字符串1打印出来,如果没有就返回NULL
document.getElementById("btn").addEventListener("click",creat); function creat(){ var name= document.getElementById("name").value; if(name.match("krys")){ alert(name); }else{ alert("sorry~you didnt have rights!") } }
replace(a,b) a是要替换掉的原来的字符或字符串,b是新的字符或字符串
document.getElementById("btn").addEventListener("click",creat); function creat(){ var name= document.getElementById("name").value; if(name.match("krys")){ alert(name.replace("krys","krys小仙女")); }else{ alert("sorry~you didnt have rights!") } }
toUpperCase()转换成大写
toLowerCase()转换成小写
split()分隔线,将一个字符串分隔成若干部分,如str="hello,world,welcome,to";var s=str.split(","); s[0]="hello";
4.Date对象
1)创建Date对象:
var date=new Date();
alert(date);
var h=date.getHours();//时
var m=date.getMinutes();//分
var s=date.getSeconds();//秒
2)获取具体年份:getFullYear();
3)获取毫秒数:getTime();
4)设置具体的日期:setFullYear();
5)获取星期:getDay();
6)设置每秒更新一次
setTimeout(function(){
showTime();},1000);
//每秒调用一次showTime函数
5.数组对象:
1)数组的创建:var a=["1","krys","ok"];
var a=new Array(); a[0]="hell0"; a[1]="world";
var a=new Array("hello","world","welcome");
2)数组常用的方法:
concat()合并数组如 a=["krys"];b=["tal"];a.concat(b)=krystal;
sort()排序数组 var a=["a","c","b"];a.sort();->a b c (默认从低到高排序)
设置为降序:a.sort(funtion(a,b){return a-b;})
push()在数组末尾添加一个元素var a=["a","c","b"]; a.push("d");
reverse()翻转,对称中心点相互交换:a.reverse()= c b a ;
6.math对象
1)常用函数
round()四舍五入 Math.round(2.5)=3;
random()返回0~1之间的随机数 Math.random();
可以转换成整数:parseInt(Matn.random()*10);
max()返回最大值
min()返回最小值
abs()返回绝对值
九,浏览器的内置对象BOM(browser object model)
1,window对象:大部分对象的祖先,最高级别对象之一。
1)简介:Window对象是指当前的浏览器窗口,所有的js全局变量函数以及变量都是Window对象的成员。
其中,全局变量是window对象的属性,全局函数是window对象的方法。
2)获得浏览器内部窗口的尺寸(即内容区域的尺寸,不包括滚动条工具栏等):
window.innerHeight浏览器窗口的内部高度,window.innerWidth,浏览器的内部宽度。
3)使用window.open(url)可以打开一个窗口,使用window.close()可以关闭当前窗口。
2,history对象
window.history()对象包含浏览器的历史(url)的集合
有三个方法:
1)history.back()后退,返回到前一页
2)history.forward(),前进,进入到下一页
3)history.go(),带参数,参数就是要进入的页数,-1是前一页,-2是前两页,依次类推,当前页是0.
3. タイマー
js を使用すると、関数が呼び出された直後ではなく、設定された時間間隔後にコードが実行されます。1 つは setInterval() です。この間隔は指定されたミリ秒間継続します。指定されたコード
1 つは setTimeout() - 指定されたミリ秒数の一時停止後に、指定されたコードを実行します。
setTimeout を使用して setInterval() 関数を実装できます。呼び出し関数コードで自分自身を呼び出すだけです。
setInterval(funtion(){},1000);
setTimeout(funtion(){},1000);
この呼び出しをクリアするには、clearInterval()、clearTimeout()を使用できます。
4、Locationオブジェクト
が使用されます現在のページのアドレスを取得し、ブラウザを新しいページにリダイレクトします (実際、私の理解では現在のアドレスを解析します)
Location オブジェクトの属性:
location .pathname: 現在のページのパスとファイル名を返します
location.port: Web ホストのポートを返します
location.protocol: 使用されている Web プロトコルを返します
location.href: 現在のページの URL を返します
location.assign () は新しいドキュメントをロードします。パラメータはドキュメントをロードするための必須のパスです。
window.location.hostname;
5、screen オブジェクト
window.screen オブジェクトには、ユーザーの画面に関する情報が含まれていますscreen.availHeight; // 利用可能な画面の幅
screen. //画面の高さ
screen.width;//画面の幅
6、ナビゲーションオブジェクト
7、ポップアップウィンドウ、Cookie
ten、jsオブジェクト指向の考え方
JavaScriptの重要知識まとめポイント1
JavaScriptイベント「イベントオブジェクト」の注意点_javascriptスキル
JavaScript基本強化動画チュートリアル
以上がJavaScript の重要なポイントを最も体系的にまとめたもの (基本的な言語構文を除く)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

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

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