JavaScript

一套耕、JS定義及應(yīng)用

JavaScript:一種直譯式腳本語言尘应,是一種動態(tài)類型痰娱、弱類型弃榨、基于原型的語言,內(nèi)置支持類型梨睁。它的解釋器被稱為JavaScript引擎鲸睛,為瀏覽器的一部分,廣泛用于客戶端的腳本語言坡贺,最早是在HTML(標準通用標記語言下的一個應(yīng)用)網(wǎng)頁上使用官辈,用來給HTML網(wǎng)頁增加動態(tài)功能。
JS控制HTML方式:
直接在HTML中寫入代碼:<script type="text/javascript">......</script>
引用JS外部文件:<script src="script.js"></script>(script.js是外部文件)

二遍坟、JS基礎(chǔ)

  • 1拳亿、JS變量命名(var)規(guī)則:
    • 1.變量必須使用字母、下劃線(_)或者美元符($)開始愿伴。
    • 2.然后可以使用任意多個英文字母肺魁、數(shù)字、下劃線(_)或者美元符($)組成隔节。
    • 3.不能使用JavaScript關(guān)鍵詞與JavaScript保留字鹅经。
  • 2、函數(shù)定義:
    function 函數(shù)名()
    {
    函數(shù)代碼;
    }
  • 函數(shù)的調(diào)用:1怎诫、在<script>標簽內(nèi)部直接調(diào)用瘾晃。2、在html文件中幻妓,通過按鈕調(diào)用函數(shù)(<input type="button" value="點點我" onclick="函數(shù)名"> )
  • 3蹦误、輸出內(nèi)容:document.write() 可用于直接向 HTML 輸出流寫內(nèi)容。簡單的說就是直接在網(wǎng)頁中輸出內(nèi)容肉津。輸出HTML標簽强胰,并起作用,標簽使用""括起來妹沙。

  • 4哪廓、消息對話框:alert(字符串或變量); 直接在對話框中顯示括號里的內(nèi)容。

  • confirm 消息對話框:

confirm(str);

str:在消息對話框中要顯示的文本
返回值: Boolean值
當用戶點擊"確定"按鈕時初烘,返回true
當用戶點擊"取消"按鈕時涡真,返回false

function rec(){
    var mymessage=confirm("是女的?")         ;
    if(mymessage==true)
    {
        document.write("你是女士!");
    }
    else
    {
        document.write("你是男士!");
    }
  }    
  • prompt 消息對話框:
prompt(str1, str2);

str1: 要顯示在消息對話框中的文本肾筐,不可修改
str2:文本框中的內(nèi)容哆料,可以修改
返回值:
點擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值
點擊取消按鈕吗铐,將返回null

function rec(){
    var score; //score變量东亦,用來存儲用戶輸入的成績值。
    score =prompt("請輸入成績:")             ;
    if(score>=90)
    {
       document.write("你很棒!");
    }
    else if(score>=75)
    {
       document.write("不錯吆!");
    }
    else if(score>=60)
    {
       document.write("要加油!");
    }
    else
    {
       document.write("要努力了!");
    }
  }
  • 打開新窗口:window.open([URL], [窗口名稱], [參數(shù)字符串])

  • URL:可選參數(shù),在窗口中要顯示網(wǎng)頁的網(wǎng)址或路徑典阵。如果省略這個參數(shù)奋渔,或者它的值是空字符串,那么窗口就不顯示任何文檔壮啊。

  • 窗口名稱:可選參數(shù)嫉鲸,被打開窗口的名稱。

  • 1.該名稱由字母歹啼、數(shù)字和下劃線字符組成玄渗。

  • 2."_top"、"_blank"狸眼、"_self"具有特殊意義的名稱藤树。
    _blank:在新窗口顯示目標網(wǎng)頁
    _self:在當前窗口顯示目標網(wǎng)頁
    _top:框架網(wǎng)頁中在上部窗口中顯示目標網(wǎng)頁

  • 3.相同 name 的窗口只能創(chuàng)建一個,要想創(chuàng)建多個窗口則 name 不能相同拓萌。

  • 4.name 不能包含有空格岁钓。
    參數(shù)字符串:可選參數(shù),設(shè)置窗口參數(shù)微王,各參數(shù)用逗號隔開屡限。

  • 窗口關(guān)閉:window.close(); 或<窗口對象>.close(); (關(guān)閉指定窗口)

  • DOM節(jié)點:

  • 1、元素節(jié)點:上圖中<html>骂远、<body>囚霸、<p>等都是元素節(jié)點腰根,即標簽激才。

  • 2、文本節(jié)點:向用戶展示的內(nèi)容额嘿,如<li>...</li>中的JavaScript瘸恼、DOM、CSS等文本册养。

  • 3东帅、屬性節(jié)點:元素屬性,如<a>標簽的鏈接屬性球拦。

  • 通過id獲取元素: document.getElementById(“id”)

  • innerHTML屬性:Object.innerHTML Object是獲取的對象

  • 改變html樣式:Object.style.property=new style;

  • 顯示和隱藏:Object.style.display = value

  • 控制類名:object.className = classname(1.獲取元素的class 屬性 2. 為網(wǎng)頁內(nèi)的某個元素指定一個css樣式來更改該元素的外觀)

三靠闭、JS數(shù)組

  • 創(chuàng)建數(shù)組:var myarray=new Array();
  • 二維數(shù)組:
var myarr=new Array();  //先聲明一維 
for(var i=0;i<2;i++){   //一維長度為2
   myarr[i]=new Array();  //再聲明二維 
   for(var j=0;j<3;j++){   //二維長度為3
   myarr[i][j]=i+j;   // 賦值,每個數(shù)組元素的值為i+j
   }
 }
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]

四坎炼、JS事件

  • 主要事件表:


    Paste_Image.png
  • 鼠標單擊事件( onclick ):當在網(wǎng)頁上單擊鼠標時愧膀,就會發(fā)生該事件。同時onclick事件調(diào)用的程序塊就會被執(zhí)行谣光,通常與按鈕一起使用檩淋。

  • 鼠標經(jīng)過事件(onmouseover):鼠標經(jīng)過事件,當鼠標移到一個對象上時萄金,該對象就觸發(fā)onmouseover事件蟀悦,并執(zhí)行onmouseover事件調(diào)用的程序媚朦。

  • 鼠標移開事件(onmouseout):鼠標移開事件,當鼠標移開當前對象時日戈,執(zhí)行onmouseout調(diào)用的程序询张。

  • 光標聚焦事件(onfocus):當網(wǎng)頁中的對象獲得聚點時,執(zhí)行onfocus調(diào)用的程序就會被執(zhí)行涎拉。

  • 失焦事件(onblur):onblur事件與onfocus是相對事件瑞侮,當光標離開當前獲得聚焦對象的時候,觸發(fā)onblur事件鼓拧,同時執(zhí)行被調(diào)用的程序半火。

  • 內(nèi)容選中事件(onselect):選中事件,當文本框或者文本域中的文字被選中時季俩,觸發(fā)onselect事件钮糖,同時調(diào)用的程序就會被執(zhí)行。

  • 文本框內(nèi)容改變事件(onchange):通過改變文本框的內(nèi)容來觸發(fā)onchange事件酌住,同時執(zhí)行被調(diào)用的程序店归。

  • 加載事件(onload):事件會在頁面加載完成后,立即發(fā)生酪我,同時執(zhí)行被調(diào)用的程序消痛。
    注意:
    1、 加載頁面時都哭,觸發(fā)onload事件秩伞,事件寫在<body>標簽內(nèi)。
    2.欺矫、此節(jié)的加載頁面纱新,可理解為打開一個新頁面時。
    如下代碼,當加載一個新頁面時穆趴,彈出對話框“加載中脸爱,請稍等…”。
    卸載事件(onunload):當用戶退出頁面時(頁面關(guān)閉未妹、頁面刷新等)簿废,觸發(fā)onUnload事件,同時執(zhí)行被調(diào)用的程序络它。

Windows對象方法:

Paste_Image.png

五族檬、JavaScript 計時器:

  • 計時器方法


    Paste_Image.png

    計時器setInterval():setInterval(代碼,交互時間);
    參數(shù)說明:
    1、代碼:要調(diào)用的函數(shù)或要執(zhí)行的代碼串酪耕。
    2导梆、交互時間:周期性執(zhí)行或調(diào)用表達式之間的時間間隔,以毫秒計(1s=1000ms)。

  • 取消計時器clearInterval():clearInterval(id_of_setInterval)

  • 計時器setTimeout():setTimeout(代碼,延遲時間);在載入后延遲指定時間后,去執(zhí)行一次表達式,僅執(zhí)行一次看尼。

  • 取消計時器clearTimeout():clearTimeout(id_of_setTimeout)

  • History 對象:window.history.[屬性|方法]递鹉;history對象記錄了用戶曾經(jīng)瀏覽過的頁面(URL),并可以實現(xiàn)瀏覽器前進與后退相似導航的功能藏斩。

  • History 對象屬性

Paste_Image.png
  • History 對象方法
Paste_Image.png

返回前一個瀏覽的頁面:window.history.back();=window.history.go(-1);
返回瀏覽歷史中的其他頁面:window.history.go(number);
參數(shù):

Paste_Image.png
  • Location對象:location.[屬性|方法]躏结;location用于獲取或設(shè)置窗體的URL,并且可以用于解析URL狰域。
  • location 對象屬性:
Paste_Image.png
  • location 對象方法:
Paste_Image.png
  • Navigator對象:包含有關(guān)瀏覽器的信息媳拴,通常用于檢測瀏覽器與操作系統(tǒng)的版本。
    對象屬性:
Paste_Image.png

userAgent:navigator.userAgent兆览;返回用戶代理頭的字符串表示(就是包括瀏覽器版本信息等的字符串)

  • screen對象:window.screen.屬性;用于獲取用戶的屏幕信息屈溉。
    對象屬性:
Paste_Image.png

屏幕分辨率的高和寬
window.screen 對象包含有關(guān)用戶屏幕的信息。

  1. screen.height 返回屏幕分辨率的高
  2. screen.width 返回屏幕分辨率的寬
    屏幕可用高和寬度
  3. screen.availWidth 屬性返回訪問者屏幕的寬度抬探,以像素計子巾,減去界面特性,比如任務(wù)欄小压。
  4. screen.availHeight 屬性返回訪問者屏幕的高度线梗,以像素計,減去界面特性怠益,比如任務(wù)欄仪搔。

六、文檔對象模型DOM(Document Object Model):

定義訪問和處理HTML文檔的標準方法蜻牢。DOM 將HTML文檔呈現(xiàn)為帶有元素烤咧、屬性和文本的樹結(jié)構(gòu)(節(jié)點樹)。

節(jié)點屬性:


遍歷節(jié)點樹:

以上圖ul為例孩饼,它的父級節(jié)點body,它的子節(jié)點3個li,它的兄弟結(jié)點h2髓削、P竹挡。
DOM操作:

  • getElementsByName()方法:document.getElementsByName(name)镀娶;返回帶有指定名稱的節(jié)點對象的集合。(返回名字是name的元素數(shù)組)

  • getElementsByTagName()方法:document.getElementsByTagName(Tagname)揪罕;返回帶有指定標簽名的節(jié)點對象的集合梯码。返回元素的順序是它們在文檔中的順序。

  • getElementByID,getElementsByName,getElementsByTagName區(qū)別:
    1好啰、ID 是一個人的身份證號碼轩娶,是唯一的。所以通過getElementById獲取的是指定的一個人框往。
    2鳄抒、Name 是他的名字,可以重復。所以通過getElementsByName獲取名字相同的人集合许溅。
    3瓤鼻、TagName可看似某類,getElementsByTagName獲取相同類的人集合贤重。如獲取小孩這類人茬祷,getElementsByTagName("小孩")。

  • getAttribute()方法:elementNode.getAttribute(name)并蝗;通過元素節(jié)點的屬性名稱獲取屬性的值祭犯。
    1、elementNode:使用getElementById()滚停、getElementsByTagName()等方法沃粗,獲取到的元素節(jié)點。
    2键畴、name:要想查詢的元素節(jié)點的屬性名字

  • setAttribute()方法:elementNode.setAttribute(name,value)陪每;setAttribute() 方法增加一個指定名稱和值的新屬性,或者把一個現(xiàn)有的屬性設(shè)定為指定的值镰吵。

  • 在文檔對象模型 (DOM) 中檩禾,每個節(jié)點都是一個對象。DOM 節(jié)點有三個重要的屬性 :
    1疤祭、nodeName : 節(jié)點的名稱
    2盼产、nodeValue :節(jié)點的值
    3、nodeType :節(jié)點的類型

  • 訪問子節(jié)點childNodes:elementNode.childNodes勺馆;訪問選定元素節(jié)點下的所有子節(jié)點的列表戏售,返回的值可以看作是一個數(shù)組,他具有l(wèi)ength屬性草穆。

  • firstChild 屬性:返回‘childNodes’數(shù)組的第一個子節(jié)點灌灾。如果選定的節(jié)點沒有子節(jié)點,則該屬性返回 NULL悲柱。
    語法:
    node.firstChild
    說明:與elementNode.childNodes[0]是同樣的效果锋喜。

  • lastChild 屬性:返回‘childNodes’數(shù)組的最后一個子節(jié)點。如果選定的節(jié)點沒有子節(jié)點豌鸡,則該屬性返回 NULL嘿般。
    語法:
    node.lastChild
    說明:與elementNode.childNodes[elementNode.childNodes.length-1]是同樣的效果。

  • 訪問父節(jié)點parentNode: elementNode.parentNode涯冠;

  • 訪問兄弟節(jié)點:
    1炉奴、nextSibling 屬性:nodeObject.nextSibling;可返回某個節(jié)點之后緊跟的節(jié)點(處于同一樹層級中)蛇更。
    2瞻赶、previousSibling 屬性:nodeObject.previousSibling 赛糟;可返回某個節(jié)點之前緊跟的節(jié)點(處于同一樹層級中)。
    插入節(jié)點appendChild():appendChild(newnode)砸逊;在指定節(jié)點的最后一個子節(jié)點列表之后添加一個新的子節(jié)點虑灰。
    插入節(jié)點insertBefore():insertBefore(newnode,node);可在已有的子節(jié)點前插入一個新的子節(jié)點。(node: 指定此節(jié)點前插入節(jié)點痹兜。)
    刪除節(jié)點removeChild():nodeObject.removeChild(node)穆咐;removeChild() 方法從子節(jié)點列表中刪除某個節(jié)點。如刪除成功字旭,此方法可返回被刪除的節(jié)點对湃,如失敗,則返回 NULL遗淳。
    替換元素節(jié)點replaceChild():node.replaceChild (newnode,oldnew ) 拍柒;實現(xiàn)子節(jié)點(對象)的替換。返回被替換對象的引用屈暗。
    創(chuàng)建元素節(jié)點createElement:document.createElement(tagName)拆讯;
    創(chuàng)建文本節(jié)點createTextNode:document.createTextNode(data)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市养叛,隨后出現(xiàn)的幾起案子种呐,更是在濱河造成了極大的恐慌,老刑警劉巖弃甥,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爽室,死亡現(xiàn)場離奇詭異,居然都是意外死亡淆攻,警方通過查閱死者的電腦和手機阔墩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓶珊,“玉大人啸箫,你說我怎么就攤上這事∩∏郏” “怎么了忘苛?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丑瞧。 經(jīng)常有香客問我柑土,道長蜀肘,這世上最難降的妖魔是什么绊汹? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮扮宠,結(jié)果婚禮上西乖,老公的妹妹穿的比我還像新娘狐榔。我一直安慰自己,他們只是感情好获雕,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布薄腻。 她就那樣靜靜地躺著,像睡著了一般届案。 火紅的嫁衣襯著肌膚如雪庵楷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天楣颠,我揣著相機與錄音尽纽,去河邊找鬼。 笑死童漩,一個胖子當著我的面吹牛弄贿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播矫膨,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼差凹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了侧馅?” 一聲冷哼從身側(cè)響起危尿,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馁痴,沒想到半個月后脚线,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡弥搞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年邮绿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片攀例。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡船逮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出粤铭,到底是詐尸還是另有隱情挖胃,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布梆惯,位于F島的核電站酱鸭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垛吗。R本人自食惡果不足惜凹髓,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怯屉。 院中可真熱鬧蔚舀,春花似錦饵沧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至礼患,卻和暖如春是钥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缅叠。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工咏瑟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痪署。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓码泞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狼犯。 傳聞我的和親對象是個殘疾皇子余寥,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu))悯森,知道了CSS樣式(也稱為表示)宋舷,會使用HT...
    凜0_0閱讀 2,770評論 0 8
  • 第1章 認識JS JavaScript能做什么?1.增強頁面動態(tài)效果(如:下拉菜單瓢姻、圖片輪播祝蝠、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,288評論 0 5
  • DOM(文檔對象模型)是針對 HTML 和 XML 文檔的一個 API。DOM 描繪了一個層次化的節(jié)點樹幻碱,允許開發(fā)...
    劼哥stone閱讀 772評論 8 6
  • 高喊減肥绎狭,比誰都能吃,比誰都沒有耐心…… 沒有顧客也得堅持到12點關(guān)業(yè)…… 然后就會各種睡不著褥傍,然后失眠儡嘶,然后內(nèi)分...
    張亭亭閱讀 129評論 0 0
  • 一個夜晚,小狗迪克在森林里迷路了恍风,它害怕極了蹦狂。 它分不清方向,也找不到來時的腳印朋贬,它大聲呼喊爸爸媽媽凯楔,可風把它的聲...
    跳舞的米線閱讀 233評論 0 1