?1.什么是javaScript【簡(jiǎn)稱JS】。
JS是
(1).嵌入在HTML標(biāo)簽中 ?是腳本語(yǔ)言
(什么是腳本語(yǔ)言呢?)首先我們必須寫(xiě)一個(gè)HTML頁(yè)面或者JSP頁(yè)面 在抛,把我的Script嵌入到里面褥伴。
JS必須嵌入到一個(gè)名叫<script src="引入外部js文件"></script>的標(biāo)簽中,方可運(yùn)行逮走。(<script type="text/javascript">文本型/javacript類型 ? ? 瀏覽器解析到這句話以后鸠蚪,看到這句話,它就調(diào)用javascript解析器來(lái)解析师溅。)多個(gè)script塊中的內(nèi)容 茅信,可以互相訪問(wèn)
(2)基于對(duì)象
JS本身就有一些現(xiàn)成的對(duì)象可供程序員使用,例如:Array墓臭,Math蘸鲸,String。窿锉。
JS并不排除你可以按一定的規(guī)則創(chuàng)建對(duì)象酌摇。
(3)事件驅(qū)動(dòng)
JS代碼寫(xiě)好后,需要外界觸發(fā)后嗡载,方可運(yùn)行窑多,例如:?jiǎn)螕羰录〞r(shí)執(zhí)行洼滚。
(4)解釋性
每次運(yùn)行JS代碼時(shí)埂息,得需要將原代碼一行一行的解釋執(zhí)行。相對(duì)編譯型語(yǔ)言(java,c++)執(zhí)行速度相對(duì)較慢千康。
(5)基于瀏覽器的動(dòng)態(tài)交互網(wǎng)頁(yè)技術(shù)(瀏覽器里面肯定有JS解釋裝置或者引擎)
如果JS嵌入到HTML中享幽,可以不需要服務(wù)器支持,直接由瀏覽器解釋執(zhí)行
如果JS嵌入到JSP或者Servlet中吧秕,必須要服務(wù)器支持琉闪,直接由瀏覽器解釋執(zhí)行。
2JS的的三種類型
(1)基本類型:
number 包含正數(shù)砸彬,負(fù)數(shù)颠毙,小數(shù)(var num = 100 num為number類型);
?String (var str =“哈哈”砂碉;str為String類型蛀蜜,注意JS中的String類型用“”或者‘’均可);
boolean (var flag = tyure增蹭;flag為boolean類型滴某,1代表ture,0 代表flase )滋迈;
(2)特殊類型
undefined不是字符串霎奢,它是一種類型,如果你想判斷某個(gè)變量是否為undefined饼灿,(表示一個(gè)變量指向的值不確定)
null表示一個(gè)變量指向null
(3)復(fù)合類型:函數(shù)幕侠,對(duì)象,數(shù)組
對(duì)象包含內(nèi)置對(duì)象和自定義對(duì)象碍彭。
3.JS中三種定義函數(shù)的方式
三)JS中有三種定義函數(shù)的方式(函數(shù)以function關(guān)鍵字開(kāi)頭)
(1)正常方式:function mysum(num1,num2){return num1+num2;}
var myresult = mysum(100晤硕,200);
alert("myresult="myresult");
(2)構(gòu)造器方式:new Function("num1","num2","return num1+num2;")
var yourself = new Function("num1","num2","return num1+num2;");
alert(yourself(100,200));
(3)直接量或匿名或無(wú)名方式:var mysum = function(num1,num2){return num1+num2;}
alert(mysum(100,200));
4. JS中有四種對(duì)象
(1)內(nèi)置對(duì)象: Data, Math庇忌, String舞箍, Array;
(2)瀏覽器對(duì)象:window皆疹,document疏橄,status,locaction略就,history........
window:就是整個(gè)瀏覽器捎迫。
document:瀏覽器的白色區(qū)域
status:狀態(tài)欄(最下面)將當(dāng)前時(shí)間設(shè)置到狀態(tài)欄
var nowStr = new Date().toLocaleString();
window.status =nowStr;
location:地址欄,就是輸入url的地方
history:歷史欄残制,就是前進(jìn)和后退兩個(gè)按鍵
function myrefresh(){
window.history.go(0);
}
(3)自定義對(duì)象:Person card
function Student(id,name,sal){
//this指向s引用
this.id = id;
this.name = name;
this.sal = sal
;}
var s = new Student(1,"波波",7000);
document.write("編號(hào):" + s.id + "");
document.write("姓名:" + s.name + "");
document.write("薪水:" + s.sal + "");
5.演示JS對(duì)象的屬性,方法和事件的使用
(1)window.location.href
var url = "04_array.html";
window.location.href = url;
(2)form.submit()(演示用JS提交表單掖疮,重要)
// 定位提交按鈕初茶,同時(shí)添加單擊事件
var inputElement = document.getElementsByTagName("input")[0];
// 為提交按鈕添加單擊事件(這里使用定義函數(shù)的第三種方法無(wú)名方法)
inputElement.onclick = function(){
// 定位<form>標(biāo)簽,forms表示document對(duì)象所有表單的集合,
var formElement = document.forms[0];
// 提交表單恼布,提交到action屬性指定的地方
formElement.submit();
}
6.什么是AJAX【Asynchronous異步的JS和XML】螺戳,工作原理與特點(diǎn)
(1)什么是同步:
請(qǐng)求1->響應(yīng)1->請(qǐng)求2->響應(yīng)2->
Web1.0時(shí)代
(2)什么是異步:
請(qǐng)求1->請(qǐng)求2->請(qǐng)求3->響應(yīng)1->響應(yīng)2->響應(yīng)3->
請(qǐng)求1->響應(yīng)1->請(qǐng)求2->請(qǐng)求3->響應(yīng)2->響應(yīng)3->
Web2.0時(shí)代
項(xiàng)目中:Web1.0為主(整個(gè)瀏覽器刷新),Web2.0為輔(瀏覽器局部刷新)
(3)什么是AJAX
客戶端(特指PC瀏覽器)與服務(wù)器折汞,可以在【不必刷新整個(gè)瀏覽器】的情況下倔幼,與服務(wù)器進(jìn)行異步通訊的技術(shù)
即,AJAX是一個(gè)【局部刷新】的【異步】通訊技術(shù)
AJAX不是全新的語(yǔ)言爽待,是2005年Google公司推出的一種全新【編程模式】损同,不是新的編程語(yǔ)言
(4)不用刷新整個(gè)頁(yè)面便可與服務(wù)器通訊的辦法有:
(A)Flash/ActionScript
(B)框架Frameset
(C)iFrame(內(nèi)嵌入框架)
(D)XMLHttpRequest(非IE瀏覽器)和ActiveXObject(IE瀏覽器)