JavaScript入門

JavaScript

  • JavaScript是運(yùn)行在瀏覽器端的腳本語言另玖,主要解決的是前端與用戶交互的問題,包括使用交互與數(shù)據(jù)交互
# js作用
1.制作網(wǎng)頁的行為動(dòng)作
2.表單驗(yàn)證
#注釋
// 單行注釋

/* 多行注釋
    1署海、...
    2、...
*/
# 前端三大塊
1.HTML: 頁面結(jié)構(gòu)(Html--結(jié)構(gòu)--內(nèi)容)
2.CSS: 頁面表現(xiàn):元素大小、顏色、位置变丧、隱藏或顯示、部分動(dòng)畫效果(Css--樣式表現(xiàn)---美化)
3.JavaScript: 頁面行為: 部分動(dòng)畫效果绢掰、頁面與用戶的交互痒蓬、頁面功能(Js--行為--頁面動(dòng)作)

JavaScript嵌入頁面的方式

1.行間事件(需要用戶觸發(fā)事件)
<input type="button" name="" onclick="alert("ok!");">
2.頁面script標(biāo)簽嵌入
<script type="text/javascript">
    alert("ok");
</script>
3.外部引入
<scrit type="text/javascript" src="js/index.js"></script>

DOM

  • 文檔對象模型(Document Object Model,簡稱DOM),它給文檔提供給了一種結(jié)構(gòu)化的表示方法滴劲,可以改變文檔的內(nèi)容和呈現(xiàn)方式
#根標(biāo)簽(元素)HTML
#DOM通過自己的表現(xiàn)方式:把所有的html標(biāo)簽形成一個(gè)倒置的樹狀結(jié)構(gòu)圖(各個(gè)節(jié)點(diǎn))

獲取元素的方法

  • 可以使用內(nèi)置對象那個(gè)document 的getElementByld方法來獲取頁面上設(shè)置了id屬性的元素谊却,獲取到一個(gè)html對象,然后將它復(fù)制給一個(gè)變量
#將javascript語句放到window.onload觸發(fā)的函數(shù)里面哑芹,獲取元素的語句會(huì)在頁面加載完后才執(zhí)行
<script type="text/javascript">
    #js入口函數(shù)
    #需求:保證瀏覽器先讀取html+css炎辨,讀取完之后,返回讀取的js命令
    #js中小括號(hào)一般寫參數(shù)或條件聪姿;大括號(hào)都是書寫命令
    #當(dāng)瀏覽器窗口加載完成后(html+css讀取完成之后)碴萧,要執(zhí)行大括號(hào)里面的命令
    window.onload = function(){
        #document是整個(gè)網(wǎng)頁文檔,搜索范圍最大
        #getElementById--通過id名查找元素末购,保證頁面確實(shí)有這個(gè)id
        var oDiv1 = document.geteElementById("div1");        
    }
</script>
..................
<div id ="div1">這是一個(gè)div元素</div>

操作元素屬性

  • 獲取的頁面元素破喻,就可以對頁面元素的屬性進(jìn)行操作,屬性的操作包括屬性的讀和寫
#操作元素屬性
var 變量 = 元素.屬性名 (讀取屬性)
元素.屬性名 = 新屬性值 (改寫屬性)
<script>
var oLink = document.geteElementById("link");
        oLink.;
..............
<a href="###" id="link">超鏈接</a>
</script>

# 屬性名在js中的寫法
1. html的屬性和js里面的屬性寫法一樣
2. "class"屬性寫成"className"
3. "style"屬性里面的屬性盟榴,有橫杠的改成駝峰式曹质,比如:"font-size",改成"fontSize"
4. innerHTML可以讀取或者寫入標(biāo)簽包裹的內(nèi)容

變量

  • JavaScript 是一種弱類型語言,javascript的變量類型由它的值來決定。定義變量需要用關(guān)鍵字"var"
# 5種基本數(shù)據(jù)類型:
1. number 數(shù)字類型
2. string 字符串類型
3. boolean 布爾類型 true 或 false
4. undefined 未定義類型羽德, 變量聲明未初始化几莽,它的值就是undefined
5. 對象類型 null空對象類型,有值的對象類型宅静,如果定義的變量將來準(zhǔn)備保存對象章蚣,可以將變量初始化為null,在頁面上獲取不到對象姨夹,返回的值就是null
#檢測數(shù)據(jù)類型
typeof(數(shù)據(jù))
#同時(shí)定義多個(gè)變量可以用","隔開纤垂,公用一個(gè)"var" 關(guān)鍵字
var iNum = 45, sTr = "qwe", sCount = "68";

# 變量磷账、函數(shù)峭沦、屬性、函數(shù)參數(shù)命名規(guī)范
1. 區(qū)分大小寫
2. 第一個(gè)字符必須是字母逃糟、下劃線(_)或者美元符號(hào)($)
3. 其他字符可以是字母吼鱼、下劃線、美元符號(hào)或數(shù)字

函數(shù)

  • 函數(shù)就是重復(fù)執(zhí)行的代碼片
# 函數(shù)的定義和執(zhí)行
<script type="text/javascript">
    // 函數(shù)定義 
    function fnAlert(){
        alert(sTr);
    };
    // 調(diào)用函數(shù)
    fnAlert(); 
</script>

# 變量與函數(shù)預(yù)解析

- JavaScript 解析過程分為兩個(gè)階段履磨, 先是編譯階段蛉抓,然后執(zhí)行階段,在編譯階段會(huì)將function定義的函數(shù)提前剃诅,并且將var定義的變量聲明提前巷送,將它賦值為undefined

<script type="text/javascript">
        fnAlert();   // 彈出 hello!
        alert(iNum)矛辕;   // 彈出 undefied 說明變量不支持預(yù)解析
        function fnAlert(){
            alert("hello笑跛!");
        };
        var iNum = 123聊品;
</script>
  • 函數(shù)傳參: javascript的函數(shù)中可以傳遞參數(shù)飞蹂, 參數(shù)不能設(shè)置缺省值
#return 關(guān)鍵字的作用
1.返回函數(shù)中的值或者對象
2.結(jié)束函數(shù)運(yùn)行

條件語句

  • 通過條件來控制程序的走向, 就需要用到條件語句
#條件運(yùn)算符
==翻屈、===陈哑、>、>=伸眶、<惊窖、<=、!=厘贼、&&(并且)界酒、||(或者)、W旖铡(否)

事件屬性及匿名函數(shù)

  • 事件屬性:元素上除了有樣式毁欣,id等屬性外庇谆,還有事件屬性,將函數(shù)名稱賦值給元素事件屬性,可以將事件和函數(shù)關(guān)聯(lián)起來
  • 匿名函數(shù):定義的函數(shù)可以不給名稱凭疮》苟可以將匿名函數(shù)的定義直接賦值給元素的事件屬性來完成事件和函數(shù)的關(guān)聯(lián),這樣可以減少函數(shù)命名哭尝,并且簡化代碼哥攘。函數(shù)如果做公共函數(shù)剖煌,就可以寫成匿名函數(shù)形式
#常用的事件屬性
鼠標(biāo)點(diǎn)擊事件屬性(onclick)
鼠標(biāo)滑過事件屬性(onmouseover)
鼠標(biāo)離開事件屬性(onmouseout)

#*****語法:事件源.事件類型 = 匿名函數(shù)
#***事件源:操作的對象
#***事件類型:操作方法
#匿名函數(shù):function(){}--放命令 

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末材鹦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子耕姊,更是在濱河造成了極大的恐慌桶唐,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茉兰,死亡現(xiàn)場離奇詭異尤泽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)规脸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門坯约,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莫鸭,你說我怎么就攤上這事闹丐。” “怎么了被因?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵卿拴,是天一觀的道長。 經(jīng)常有香客問我梨与,道長堕花,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任粥鞋,我火速辦了婚禮缘挽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呻粹。我一直安慰自己壕曼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布尚猿。 她就那樣靜靜地躺著窝稿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凿掂。 梳的紋絲不亂的頭發(fā)上伴榔,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天纹蝴,我揣著相機(jī)與錄音,去河邊找鬼踪少。 笑死塘安,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的援奢。 我是一名探鬼主播兼犯,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼集漾!你這毒婦竟也來了切黔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤具篇,失蹤者是張志新(化名)和其女友劉穎纬霞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驱显,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诗芜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埃疫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伏恐。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖栓霜,靈堂內(nèi)的尸體忽然破棺而出翠桦,到底是詐尸還是另有隱情,我是刑警寧澤叙淌,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布秤掌,位于F島的核電站,受9級(jí)特大地震影響鹰霍,放射性物質(zhì)發(fā)生泄漏闻鉴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一茂洒、第九天 我趴在偏房一處隱蔽的房頂上張望孟岛。 院中可真熱鬧,春花似錦督勺、人聲如沸渠羞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽次询。三九已至,卻和暖如春瓷叫,著一層夾襖步出監(jiān)牢的瞬間屯吊,已是汗流浹背送巡。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盒卸,地道東北人骗爆。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像蔽介,于是被迫代替她去往敵國和親摘投。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 為方便閱讀虹蓄,該內(nèi)容需具備一定的HTML+CSS基礎(chǔ)犀呼。 為什么學(xué)習(xí)JavaScript 一、為什么JavaScrip...
    百草紀(jì)閱讀 307評(píng)論 0 1
  • 1-1 引用JS外部文件 注意:在JS文件中武花,不需要 標(biāo)簽,直接編寫JavaScript代碼就可以了標(biāo)簽,直接編寫...
    croyance0601閱讀 351評(píng)論 0 0
  • JavaScript ( **JS **) 是一種輕量級(jí)解釋型的圆凰,或是JIT編譯型的程序設(shè)計(jì)語言杈帐,有著 函數(shù)優(yōu)先 ...
    garble閱讀 379評(píng)論 0 0
  • 假設(shè)這樣一種情況体箕,當(dāng)一個(gè)班上有兩個(gè)名叫 Zara 的學(xué)生時(shí),為了明確區(qū)分它們挑童,我們在使用名字之外累铅,不得不使用一些額...
    資深小夏閱讀 163評(píng)論 0 0
  • 001.只要你不設(shè)限娃兽,一切皆有可能 也許你現(xiàn)在過得并不如意,生活和事業(yè)都很迷茫尽楔,但是只要不放棄投储,竭盡全力不斷去嘗試...
    念念不忘加菲貓閱讀 177評(píng)論 0 3