JavaScript學(xué)習(xí)

  1. <script>標(biāo)簽在HTML網(wǎng)頁中插入JavaScript代碼。注意擦酌,<script>標(biāo)簽要成對出現(xiàn),并把JavaScript代碼在<script></script>之間。

  2. <script type="text/javascript">表示在<script></script>之間的是文本類型(text),JavaScript是為了告訴瀏覽器里面的文本是屬于JavaScript語言规辱。

  3. JS文件不能直接運(yùn)行,需嵌入到HTML文件中執(zhí)行栽燕,我們需在HTML中添加如下代碼罕袋,就可將JS文件嵌入HTML文件中。
    <script src="script.js"></script>

  4. JavaScript在頁面中的位置
    JavaScript代碼可以放在html文件中的任何位置碍岔,但是一般放在頁面的head或者body部分
    放在<head>部分
    最常用的方式是在頁面中head部分放置<script>元素浴讯,瀏覽器解析head部分就會執(zhí)行這個代碼,然后才解析頁面的其余部分蔼啦。
    放在<body>部分
    JavaScript代碼在頁面讀取到該語句的時候就會執(zhí)行榆纽。

    JavaScript執(zhí)行位置

注意:javascript作為一種腳本語言可以放在html頁面中任何位置,但是瀏覽器解析html時是按先后順序的询吴,所以前面的script就先被執(zhí)行掠河。比如進(jìn)行頁面顯示初始化的js必須放在head里面,因?yàn)槌跏蓟家筇崆斑M(jìn)行(如給頁面body設(shè)置css等)猛计;而如果是通過事件調(diào)用執(zhí)行的function那么對位置沒什么要求的唠摹。

5.JavaScript-什么是變量
從編程角度講,變量是用于存儲某種/某些數(shù)值的存儲器奉瘤。我們可以把變量看做一個盒子勾拉,為了區(qū)分盒子,可以用BOX1,BOX2等名稱代表不同盒子盗温,BOX1就是盒子的名字(也就是變量的名字).

變量

定義變量使用關(guān)鍵字var,語法如下:

var 變量名

變量名可以任意取名藕赞,但要遵循命名規(guī)則:

  • 1.變量必須使用字母、下劃線_或者美元符($)開始卖局。
  • 2.然后可以使用任意多個英文字母斧蜕、數(shù)字、下劃線_或者美元符$組成砚偶。
  • 3.不能使用JavaScript關(guān)鍵詞與JavaScript保留字批销。

變量要先聲明再賦值洒闸,如下:

var mychar;
mychar="javascript";
var mynum = 6;

變量可以重復(fù)賦值,如下:

var mychar;
mychar="javascript";
mychar="hello";

注意:

    1. 在JS中區(qū)分大小寫均芽,如變量mychar與myChar是不一樣的丘逸,表示是兩個變量。
    1. 變量雖然也可以不聲明掀宋,直接使用深纲,但不規(guī)范,需要先聲明劲妙,后使用湃鹊。

5.JavaScript-判斷語句(if...else)

if...else語句是在指定的條件成立時執(zhí)行代碼,在條件不成立時執(zhí)行else后的代碼镣奋。
語法:

if(條件)
{ 條件成立時執(zhí)行的代碼 }
else
{ 條件不成立時執(zhí)行的代碼 }

5. 數(shù)據(jù)類型(5+1)

  • undefined
  • Null
  • Boolean
  • Number
  • String
  • Object
    數(shù)據(jù)類型 - typeof 運(yùn)算符
typeof a
typeof(a)

typeof運(yùn)算符只是一個運(yùn)算符涛舍,既不是函數(shù),也不是一個方法
typeof輸出的結(jié)果只能是undefined,boolean,number,string,object,function這六種類型

(1). 數(shù)據(jù)類型 - undefined
undefined即一個特殊的值唆途,當(dāng)一個變量聲明但未初始化時,就會被賦予undefined值

var message;
alert (message == undefined);//true
typeof(a) == "undefined"

(2). 數(shù)據(jù)類型 - null

  • 空對象指針
  • 當(dāng)一個變量是為了保存一個對象掸驱,但沒辦法立即初始化的時候肛搬,應(yīng)該為之分配一個null值

(3). 數(shù)據(jù)類型 - Number & String
NaN(Not a number)

  • 任何涉及NaN的操作(NaN+1)都會返回NaN
  • NaN與任何值都不相等,包括NaN本身

數(shù)據(jù)累類型轉(zhuǎn)化方法

  • Number()
  • parselnt()
  • parseFloat()
  • String()
  • toString

(3). 數(shù)據(jù)類型 - Object
創(chuàng)建Object實(shí)例:

var 0 = new object();//推薦
var 0 = new object;//不推薦

Object類型所具有的任何屬性和方法也同樣存在于更具體的對象中

6.JavaScript-什么是函數(shù)

function 函數(shù)名()
{
     函數(shù)代碼;
}

說明:

  1. function定義函數(shù)的關(guān)鍵字毕贼。
  2. "函數(shù)名"你為函數(shù)取的名字温赔。
  3. "函數(shù)代碼"替換為完成特定功能的代碼。
    我們來編寫一個實(shí)現(xiàn)兩數(shù)相加的簡單函數(shù),并給函數(shù)起個有意義的名字:add2鬼癣,代碼如下:
function add2(){
   var sum = 3 + 2;
   alert(sum);
}

函數(shù)定義好后陶贼,是不能自動執(zhí)行的,所以需調(diào)用它,只需直接在需要的位置寫函數(shù)就ok了,代碼如下:
函數(shù)調(diào)用:


函數(shù)執(zhí)行

7.JavaScript-輸出內(nèi)容(document.write)

``document.write()` 可用于直接向 HTML 輸出流寫內(nèi)容待秃。簡單的說就是直接在網(wǎng)頁中輸出內(nèi)容拜秧。
第一種:輸出內(nèi)容用""括起,直接輸出""號內(nèi)的內(nèi)容章郁。

<script type="text/javascript">
  document.write("I love JavaScript枉氮!"); //內(nèi)容用""括起來,""里的內(nèi)容直接輸出暖庄。
</script>

第二種:通過變量聊替,輸出內(nèi)容

<script type="text/javascript">
  var mystr="hello world!";
  document.write(mystr);  //直接寫變量名,輸出變量存儲的內(nèi)容培廓。
</script>

第三種:輸出多項(xiàng)內(nèi)容惹悄,內(nèi)容之間用+號連接。

<script type="text/javascript">
  var mystr="hello";
  document.write(mystr+"I love JavaScript"); //多項(xiàng)內(nèi)容之間用+號連接
</script>

第四種:輸出HTML標(biāo)簽肩钠,并起作用泣港,標(biāo)簽使用""括起來暂殖。

<script type="text/javascript">
  var mystr="hello";
document.write(mystr+"<br>");//輸出hello后,輸出一個換行符
  document.write("JavaScript");
</script>

8.JavaScript-警告(alert 消息對話框)

我們在訪問網(wǎng)站的時候爷速,有時會突然彈出一個小窗口央星,上面寫著一段提示信息文字。如果你不點(diǎn)擊“確定”惫东,就不能對網(wǎng)頁做任何操作莉给,這個小窗口就是使用alert實(shí)現(xiàn)的。
語法:

alert(字符串或變量);

注意:

  1. 在點(diǎn)擊對話框"確定"按鈕前廉沮,不能進(jìn)行任何其它操作颓遏。
  2. 消息對話框通常可以用于調(diào)試程序滞时。
  3. alert輸出內(nèi)容叁幢,可以是字符串或變量,與document.write相似坪稽。

9.JavaScript-確認(rèn)(confirm 消息對話框)

confirm 消息對話框通常用于允許用戶做選擇的動作曼玩,如:“你對嗎?”等窒百。彈出對話框(包括一個確定按鈕和一個取消按鈕)黍判。

語法:

confirm(str);

參數(shù)說明:

str:在消息對話框中要顯示的文本
返回值: Boolean值

返回值:

當(dāng)用戶點(diǎn)擊"確定"按鈕時,返回true
當(dāng)用戶點(diǎn)擊"取消"按鈕時篙梢,返回false

注: 消息對話框是排它的顷帖,即用戶在點(diǎn)擊對話框按鈕前,不能進(jìn)行任何其它操作.

10.JavaScript-提問(prompt 消息對話框)

prompt彈出消息對話框,通常用于詢問一些需要與用戶交互的信息渤滞。彈出消息對話框(包含一個確定按鈕贬墩、取消按鈕與一個文本輸入框)。

語法:

prompt(str1, str2);

參數(shù)說明:
str1: 要顯示在消息對話框中的文本妄呕,不可修改
str2:文本框中的內(nèi)容陶舞,可以修改

返回值:

  1. 點(diǎn)擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值
  2. 點(diǎn)擊取消按鈕趴腋,將返回null

11.JavaScript-打開新窗口(window.open)

open() 方法可以查找一個已經(jīng)存在或者新建的瀏覽器窗口吊说。

語法:

window.open([URL], [窗口名稱], [參數(shù)字符串])

參數(shù)說明:

URL:可選參數(shù),在窗口中要顯示網(wǎng)頁的網(wǎng)址或路徑优炬。如果省略這個參數(shù)颁井,或者它的值是空字符串,那么窗口就不顯示任何文檔蠢护。
窗口名稱:可選參數(shù)雅宾,被打開窗口的名稱。
1.該名稱由字母葵硕、數(shù)字和下劃線字符組成眉抬。
2."_top"贯吓、"_blank"、"_self"具有特殊意義的名稱蜀变。
       _blank:在新窗口顯示目標(biāo)網(wǎng)頁
       _self:在當(dāng)前窗口顯示目標(biāo)網(wǎng)頁
       _top:框架網(wǎng)頁中在上部窗口中顯示目標(biāo)網(wǎng)頁
3.相同 name 的窗口只能創(chuàng)建一個悄谐,要想創(chuàng)建多個窗口則 name 不能相同。
4.name 不能包含有空格库北。
參數(shù)字符串:可選參數(shù)爬舰,設(shè)置窗口參數(shù),各參數(shù)用逗號隔開寒瓦。

參數(shù)表:

參數(shù)表

例如:打開http://www.imooc.com網(wǎng)站情屹,大小為300px * 200px,無菜單杂腰,無工具欄垃你,無狀態(tài)欄,有滾動條窗口:

<script type="text/javascript"> window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>

12. JavaScript-關(guān)閉窗口(window.close)

close()關(guān)閉窗口

用法:

window.close();   //關(guān)閉本窗口

<窗口對象>.close();   //關(guān)閉指定的窗口

例如:關(guān)閉新建的窗口喂很。

<script type="text/javascript">
   var mywin=window.open('http://www.imooc.com'); //將新打的窗口對象惜颇,存儲在變量mywin中
   mywin.close();
</script>

注意:上面代碼在打開新窗口的同時,關(guān)閉該窗口少辣,看不到被打開的窗口官还。

13.認(rèn)識DOM

文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標(biāo)準(zhǔn)方法。DOM 將HTML文檔呈現(xiàn)為帶有元素毒坛、屬性和文本的樹結(jié)構(gòu)(節(jié)點(diǎn)樹)。

HTML代碼

將HTML代碼分解為DOM節(jié)點(diǎn)層次圖:
52e4bd0f0001dd8d04830279.jpg

HTML文檔可以說由節(jié)點(diǎn)構(gòu)成的集合林说,三種常見的DOM節(jié)點(diǎn):
1. 元素節(jié)點(diǎn):上圖中<html>煎殷、<body>、<p>等都是元素節(jié)點(diǎn)腿箩,即標(biāo)簽豪直。
2. 文本節(jié)點(diǎn):向用戶展示的內(nèi)容,如<li>...</li>中的JavaScript珠移、DOM弓乙、CSS等文本。
3. 屬性節(jié)點(diǎn):元素屬性钧惧,如<a>標(biāo)簽的鏈接屬性暇韧。

看下面代碼:
<a >JavaScript DOM</a>

節(jié)點(diǎn)

通過ID獲取元素

學(xué)過HTML/CSS樣式,都知道浓瞪,網(wǎng)頁由標(biāo)簽將信息組織起來懈玻,而標(biāo)簽的id屬性值是唯一的,就像是每人有一個身份證號一樣乾颁,只要通過身份證號就可以找到相對應(yīng)的人涂乌。那么在網(wǎng)頁中艺栈,我們通過id先找到標(biāo)簽,然后進(jìn)行操作湾盒。

語法:

 document.getElementById(“id”)
代碼例子

結(jié)果:null或[object HTMLParagraphElement]

結(jié)果

注:獲取的元素是一個對象湿右,如想對元素進(jìn)行操作,我們要通過它的屬性或方法罚勾。

innerHTML 屬性

innerHTML 屬性用于獲取或替換 HTML 元素的內(nèi)容毅人。

語法:

Object.innerHTML

注意:
1.Object是獲取的元素對象,如通過document.getElementById("ID")獲取的元素荧库。
2.注意書寫堰塌,innerHTML區(qū)分大小寫。
我們通過id="con"獲取<p>元素分衫,并將元素的內(nèi)容輸出和改變元素內(nèi)容场刑,代碼如下:

例子代碼

結(jié)果:
結(jié)果

DOM 改變 HTML 樣式

HTML DOM 允許 JavaScript 改變 HTML 元素的樣式。
語法:

Object.style.property=new style;

注意:Object是獲取的元素對象蚪战,如通過document.getElementById("id")獲取的元素牵现。

基本屬性表(property):


屬性表

下面的代碼:
改變 <p> 元素的樣式,將顏色改為紅色邀桑,字號改為20,背景顏色改為藍(lán):

<p id="pcon">Hello World!</p>
<script>
   var mychar = document.getElementById("pcon");
   mychar.style.color="red";
   mychar.style.fontSize="20";
   mychar.style.backgroundColor ="blue";
</script>

結(jié)果:


結(jié)果:

顯示和隱藏(display屬性)

網(wǎng)頁中經(jīng)常會看到顯示和隱藏的效果瞎疼,可通過display屬性來設(shè)置。

語法:

Object.style.display = value

注意:Object是獲取的元素對象壁畸,如通過document.getElementById("id")獲取的元素贼急。

value取值:

value值

例子代碼

控制類名(className 屬性)

className 屬性設(shè)置或返回元素的class 屬性。
語法:

object.className = classname

作用:
1.獲取元素的class 屬性
2.為網(wǎng)頁內(nèi)的某個元素指定一個css樣式來更改該元素的外觀
看看下面代碼捏萍,獲得 <p> 元素的 class 屬性和改變className:


例子
  1. JavaScript的運(yùn)算符
  • 一元運(yùn)算發(fā)
  • 布爾運(yùn)算符
  • 相等運(yùn)算發(fā)
  • 其他運(yùn)算符
  1. 語句 - 返回值 無返回值的語句
    一下的語句都是無返回值的語句太抓。其他的語句都會有返回值
  • ;(空語句)
  • ;var a = b;
  • function a(){}函數(shù)聲明
  • break/continue/label
聲明語句

聲明語句和賦值語句的區(qū)別在于:賦值語句有返回值,聲明語句沒有返回值

                    函數(shù)調(diào)用語句
函數(shù)調(diào)用語句
  1. Javascript函數(shù)

函數(shù)的參數(shù)
ECMAScript中的參數(shù)都是值傳遞
重載

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蠢熄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子掉丽,更是在濱河造成了極大的恐慌,老刑警劉巖异雁,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捶障,死亡現(xiàn)場離奇詭異,居然都是意外死亡纲刀,警方通過查閱死者的電腦和手機(jī)残邀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芥挣,你說我怎么就攤上這事驱闷。” “怎么了空免?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵空另,是天一觀的道長。 經(jīng)常有香客問我蹋砚,道長扼菠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任坝咐,我火速辦了婚禮循榆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘墨坚。我一直安慰自己秧饮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布泽篮。 她就那樣靜靜地躺著盗尸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帽撑。 梳的紋絲不亂的頭發(fā)上泼各,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音亏拉,去河邊找鬼扣蜻。 笑死,一個胖子當(dāng)著我的面吹牛及塘,可吹牛的內(nèi)容都是我干的弱贼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼磷蛹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溪烤?” 一聲冷哼從身側(cè)響起味咳,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎檬嘀,沒想到半個月后槽驶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸳兽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年掂铐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡全陨,死狀恐怖爆班,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辱姨,我是刑警寧澤柿菩,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站雨涛,受9級特大地震影響枢舶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜替久,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一凉泄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚯根,春花似錦后众、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矩距,卻和暖如春拗盒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锥债。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工陡蝇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哮肚。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓登夫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親允趟。 傳聞我的和親對象是個殘疾皇子恼策,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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