JavaScript基礎

第1章 準備

1-1 為什么學習JavaScript

一、你知道,為什么JavaScript非常值得我們學習嗎?

  1. 所有主流瀏覽器都支持JavaScript。
  2. 目前,全世界大部分網頁都使用JavaScript。
  3. 它可以讓網頁呈現各種動態效果。
  4. 做為一個Web開發師,如果你想提供漂亮的網頁、令用戶滿意的上網體驗,JavaScript是必不可少的工具。
    二、易學性
    1.學習環境無外不在,只要有文本編輯器,就能編寫JavaScript程序。
    2.我們可以用簡單命令,完成一些基本操作。
    三、從哪開始學習呢?
    學習JavaScript的起點就是處理網頁,所以我們先學習基礎語法和如何使用DOM進行簡單操作。

1-2 如何插入JS

52e31ea8000149f406440218.jpg.png

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

1-3 引入JS外部文件

52898b6900018aeb05540284.jpg.png

注意:在JS文件中,不需要<script>標簽,直接編寫JavaScript代碼就可以了。

1-4 JS在頁面中的位置

52a6ad240001086506440600.jpg.png

**注意: **javascript作為一種腳本語言可以放在html頁面中任何位置,但是瀏覽器解釋html時是按先后順序的,所以前面的script就先被執行。比如進行頁面顯示初始化的js必須放在head里面,因為初始化都要求提前進行(如給頁面body設置css等);而如果是通過事件調用執行的function那么對位置沒什么要求的。

1-5 認識語句和符號

每一句JavaScript代碼格式:語句;

<script type="text/javascript"> 
   alert("hello!");
   document.write("I");
   document.write("love");
   document.write("JavaScript");
</script>

1-6 注釋

js的注釋和C語言的一樣;
單行注釋://我是注釋
多行注釋:/**我是注釋/

1-7 變量

52e32dc90001140c04120228.jpg.png

定義變量使用關鍵字var,語法如下:
var 變量名

變量名可以任意取名,但要遵循命名規則:
1.變量必須使用字母、下劃線()或者美元符($)開始。
2.然后可以使用任意多個英文字母、數字、下劃線(
)或者美元符($)組成。
3.不能使用JavaScript關鍵詞與JavaScript保留字。
變量要先聲明再賦值,如下:

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

變量可以重復賦值,如下:

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

注意:

  1. 在JS中區分大小寫,如變量mychar與myChar是不一樣的,表示是兩個變量。
  2. 變量雖然也可以不聲明,直接使用,但不規范,需要先聲明,后使用。

1-8 判斷語句if-else

假設我們通過年齡來判斷是否為成年人,如年齡大于等于18歲,是成年人,否則不是成年人。代碼表示如:

<script type="text/javascript">
 var myage = 18; 
 if(myage>=18) //myage>=18是判斷條件 
 {  
    document.write("你是成年人。");
 } 
 else //否則年齡小于18
 {
    document.write("未滿18歲,你不是成年人。");
 }
</script>

1-9 函數

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

編寫一個實現兩數相加的簡單函數,并給函數起個有意義的名字:“add2”,代碼如下:

function add2()
{ 
    var sum = 3 + 2; 
    alert(sum);
}

第2章

2-1 輸出內容(document.write)

第一種。輸出內容用""括起,直接輸出""號內的內容。

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

第二種 通過變量,輸出內容

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

第三種:輸出多項內容,內容之間用+號連接。

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

第四種輸出HTML標簽,并起作用,標簽使用""括起來。

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

2-2 警告(alert 消息對話框)

語法:
alert(字符串或變量);
看下面的代碼:

<script type="text/javascript"> 
  var mynum = 30;
  alert("hello!"); 
  alert(mynum);
</script>

注:alert彈出消息對話框(包含一個確定按鈕)。

2-3 確認(confirm 消息對話框)

語法:
confirm(str);
參數說明:
str:在消息對話框中要顯示的文本返回值: Boolean值
返回值:
當用戶點擊"確定"按鈕時,返回true當用戶點擊"取消"按鈕時,返回false

注: 通過返回值可以判斷用戶點擊了什么按鈕
看下面的代碼:

<script type="text/javascript"> 
 var mymessage=confirm("你喜歡JavaScript嗎?");
 if(mymessage==true) { 
    document.write("很好,加油!");
 }
 else { 
    document.write("JS功能強大,要學習噢!");
 }
</script>
52e35bc60001f01a04230353.jpg

2-4 提問(prompt 消息對話框)

語法:
prompt(str1, str2);

參數說明:
str1: 要顯示在消息對話框中的文本,不可修改str2:文本框中的內容,可以修改

返回值:

  1. 點擊確定按鈕,文本框中的內容將作為函數返回值
  2. 點擊取消按鈕,將返回null

看看下面代碼:

var myname=prompt("請輸入你的姓名:");
if(myname!=null) { 
alert("你好"+myname); 
}
else {
 alert("你好 my friend."); 
}

結果:


注:在用戶點擊對話框的按鈕前,不能進行任何其它操作。

2-5 打開新窗口(window.open)

open() 方法可以查找一個已經存在或者新建的瀏覽器窗口。
語法:
window.open([URL], [窗口名稱], [參數字符串])

參數說明:
URL:可選參數,在窗口中要顯示網頁的網址或路徑。如果省略這個參數,或者它的值是空字符串,那么窗口就不顯示任何文檔。
窗口名稱:可選參數,被打開窗口的名稱。
1.該名稱由字母、數字和下劃線字符組成。
2."_top"、"_blank"、"_self"具有特殊意義的名稱。
_blank:在新窗口顯示目標網頁
_self:在當前窗口顯示目標網頁
_top:框架網頁中在上部窗口中顯示目標網頁
3.相同 name 的窗口只能創建一個,要想創建多個窗口則 name 不能相同。
4.name 不能包含有空格。
參數字符串:可選參數,設置窗口參數,各參數用逗號隔開。
參數表:

例如:打開http://www.imooc.com網站,大小為300px * 200px,無菜單,無工具欄,無狀態欄,有滾動條窗口:

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

注意:運行結果考慮瀏覽器兼容問題。

2-6 關閉窗口(window.close)

close()關閉窗口
用法:
window.close(); //關閉本窗口

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

例如:關閉新建的窗口。

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

注意:上面代碼在打開新窗口的同時,關閉該窗口,看不到被打開的窗口。

第3章 DOM操作

3-1 認識DOM

文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標準方法。DOM 將HTML文檔呈現為帶有元素、屬性和文本的樹結構(節點樹)。
先來看看下面代碼:



將HTML代碼分解為DOM節點層次圖:



HTML文檔可以說由節點構成的集合,三種常見的DOM節點:
  1. 元素節點:上圖中<html>、<body>、<p>等都是元素節點,即標簽。
  2. 文本節點:向用戶展示的內容,如<li>...</li>中的JavaScript、DOM、CSS等文本。
  3. 屬性節點:元素屬性,如<a>標簽的鏈接屬性
    看下面代碼:
<a >JavaScript DOM</a>

3-2 通過ID獲取元素

語法:
document.getElementById(“id”)
看看下面代碼:



結果:null或[object HTMLParagraphElement]



注:獲取的元素是一個對象,如想對元素進行操作,我們要通過它的屬性或方法。

3-3 innerHTML 屬性

innerHTML 屬性用于獲取或替換 HTML 元素的內容。
語法:
Object.innerHTML

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


結果:

3-4 改變 HTML 樣式

語法:
Object.style.property=new style;

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

基本屬性表(property):


注意:該表只是一小部分CSS樣式屬性,其它樣式也可以通過該方法設置和修改。
看看下面的代碼:
改變 <p>元素的樣式,將顏色改為紅色,字號改為20,背景顏色改為藍:

<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>

結果:


3-5 顯示和隱藏(display屬性)

語法:
Object.style.display = value
注意:Object是獲取的元素對象,如通過document.getElementById("id")獲取的元素。
value取值:


看看下面代碼:

3-6 控制類名(className 屬性)

語法:
object.className = classname
作用:
1.獲取元素的class 屬性
2.為網頁內的某個元素指定一個css樣式來更改該元素的外觀
看看下面代碼,獲得 <p>元素的 class 屬性和改變className:


結果:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容

  • 1.HTML DOM (Document Object Model) document.getElementByI...
    廖馬兒閱讀 1,435評論 0 17
  • 放置位置 放在 部分最常用的方式是在頁面中head部分放置 元素,瀏覽器解析head部分就會執行這個代碼,然后才解...
    SpareNoEfforts閱讀 632評論 0 0
  • 轉載請聲明出處 博客原文 隨手翻閱以前的學習筆記,順便整理一下放在這里,方便自己復習,也希望你有也有幫助吧 第一課...
    前端進階之旅閱讀 12,709評論 13 94
  • 昨晚睡覺的時候,突然感覺口腔沉悶,而且干燥得發疼。我原以為是在做夢,所以無心理會。等到凌晨兩點,我確確實實清醒過來...
    有一人焉閱讀 400評論 0 2
  • 真正能治愈內心的話,送給大家,送給自己: 1.上錯了車,別因為投了幣而不肯下車。那樣只會錯過更多的站。 2.上天只...
    赫連錦軒閱讀 423評論 0 1