1. 程式人生 > >JavaScript入門--慕課網學習筆記

JavaScript入門--慕課網學習筆記

裏的 編寫 .com span 符號 代碼格式 www 空白 body

JAVASCRIPT(慕課網)入門篇

我們來看看如何寫入JS代碼?你只需一步操作,使用<script>標簽在HTML網頁中插入JavaScript代碼。註意, <script>標簽要成對出現,並把JavaScript代碼寫在<script></script>之間。

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

JavaScript代碼只能寫在

HTML文件中嗎?當然不是,我們可以把HTML文件和JS代碼分開,並單獨創建一個JavaScript文件(簡稱JS文件),其文件後綴通常為.js,然後將JS代碼直接寫在JS文件中。

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

JS文件不能直接運行,需嵌入到HTML文件中執行,我們需在HTML中添加如下代碼,就可將JS文件嵌入HTML文件中。

<script src="script.js"></script>

我們可以將JavaScript代碼放在html文件中任何位置,但是我們一般放在網頁的head或者body

部分。
放在<head>部分
最常用的方式是在頁面中head部分放置<script>元素,瀏覽器解析head部分就會執行這個代碼,然後才解析頁面的其余部分。
放在<body>部分
JavaScript代碼在網頁讀取到該語句的時候就會執行。

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

每一句JavaScript代碼格式

: 語句;

“;”分號要在英文狀態下輸入,同樣,JS中的代碼和符號都要在英文狀態下輸入。

單行註釋,在註釋內容前加符號 “//” 多行註釋以"/*"開始,以"*/"結束。

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

var 變量名

變量名可以任意取名,但要遵循命名規則:

1.變量必須使用字母、下劃線(_)或者美元符($)開始。

2.然後可以使用任意多個英文字母、數字、下劃線(_)或者美元符($)組成。

3.不能使用JavaScript關鍵詞與JavaScript保留字。

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

var mychar;

mychar="javascript";

var mynum = 6;

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

var mychar;

mychar="javascript";

mychar="hello";

註意:

1. JS中區分大小寫,如變量mycharmyChar是不一樣的,表示是兩個變量。

2. 變量雖然也可以不聲明,直接使用,但不規範,需要先聲明,後使用。

如何定義一個函數呢?基本語法如下:

function 函數名()

{

函數代碼;

}

說明:

1. function定義函數的關鍵字。

2. "函數名"你為函數取的名字。

3. "函數代碼"替換為完成特定功能的代碼。

函數調用:

函數定義好後,是不能自動執行的,所以需調用它,只需直接在需要的位置寫函數就ok,代碼如下:

JavaScript-輸出內容(document.write)

document.write() 可用於直接向 HTML 輸出流寫內容。簡單的說就是直接在網頁中輸出內容。

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

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

JS中如何輸出空格

在寫JS代碼的時候,大家可以會發現這樣現象:

document.write(" 1 2 3 ");

結果: 1 2 3

無論在輸出的內容中什麽位置有多少個空格,顯示的結果好像只有一個空格。

這是因為瀏覽器顯示機制,對手動敲入的空格,將連續多個空格顯示成1個空格。

解決方法:

1. 使用輸出html標簽 來解決

document.write(" "+"1"+" "+"23");

結果: 1 23

2. 使用CSS樣式來解決

document.write("<span style=‘white-space:pre;‘>"+" 1 2 3 "+"</span>");

結果: 1 2 3

在輸出時添加“white-space:pre;”樣式屬性。這個樣式表示"空白會被瀏覽器保留"

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

我們在訪問網站的時候,有時會突然彈出一個小窗口,上面寫著一段提示信息文字。如果你不點擊“確定”,就不能對網頁做任何操作,這個小窗口就是使用alert實現的。

語法:

alert(字符串或變量);

看下面的代碼:

<script type="text/javascript">

var mynum = 30;

alert("hello!");

alert(mynum);

</script>

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

結果:按順序彈出消息框

註意:

1. 在點擊對話框"確定"按鈕前,不能進行任何其它操作。

2. 消息對話框通常可以用於調試程序。

3. alert輸出內容,可以是字符串或變量,與document.write 相似。

JavaScript-確認(confirm 消息對話框)

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>

結果:

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

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

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

語法:

prompt(str1, str2);

參數說明:

str1: 要顯示在消息對話框中的文本,不可修改

str2:文本框中的內容,可以修改

返回值:

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

2. 點擊取消按鈕,將返回null

看看下面代碼:

var myname=prompt("請輸入你的姓名:");

if(myname!=null)

{ alert("你好"+myname); }

else

{ alert("你好 my friend."); }

結果:

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

JavaScript-打開新窗口(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>

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

JavaScript-關閉窗口(window.close)

close()關閉窗口

用法:

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

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

例如:關閉新建的窗口。

<script type="text/javascript">

var mywin=window.open(‘http://www.imooc.com‘); //將新打的窗口對象,存儲在變量mywin

mywin.close();

</script>

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

編程練習

制作新按鈕,“新窗口打開網站” ,點擊打開新窗口。

任務

1、新窗口打開時彈出確認框,是否打開

提示: 使用 if 判斷確認框是否點擊了確定,如點擊彈出輸入對話框,否則沒有任何操作。

2、通過輸入對話框,確定打開的網址,默認為 http://www.imooc.com/

3、打開的窗口要求,寬400像素,高500像素,無菜單欄、無工具欄。

<!DOCTYPE html>

<html>

<head>

<title> new document </title>

<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>

<script type="text/javascript">

function openWindow()

{

var mycon=confirm("打開新窗口嗎?");

if(mycon==true)

{

var net=prompt("請輸入要打開的網址:","http://www.imooc.com/");

if(net!=null)

window.open(net,"_blank","width=400,height=500,menubar=no,toolbar=no");

else

window.close();

}

else

window.close();

}

</script>

</head>

<body>

<input type="button" value="新窗口打開網站" onclick="openWindow()" />

</body>

</html>

認識DOM

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

先來看看下面代碼:

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

HTML文檔可以說由節點構成的集合,三種常見的DOM節點:

1. 元素節點:上圖中<html>、<body>、<p>等都是元素節點,即標簽。

2. 文本節點:向用戶展示的內容,如<li>...</li>中的JavaScript、DOM、CSS等文本。

3. 屬性節點:元素屬性,如<a>標簽的鏈接屬性href="http://www.imooc.com"。

看下面代碼:

<a href="http://www.imooc.com">JavaScript DOM</a>

通過ID獲取元素

學過HTML/CSS樣式,都知道,網頁由標簽將信息組織起來,而標簽的id屬性值是唯一的,就像是每人有一個身份證號一樣,只要通過身份證號就可以找到相對應的人。那麽在網頁中,我們通過id先找到標簽,然後進行操作。

語法:

document.getElementById(“id”)

看看下面代碼:

結果:null或[object HTMLParagraphElement]

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

innerHTML 屬性

innerHTML 屬性用於獲取或替換 HTML 元素的內容。

語法:

Object.innerHTML

註意:

1.Object是獲取的元素對象,如通過document.getElementById("ID")獲取的元素。

2.註意書寫,innerHTML區分大小寫。

我們通過id="con"獲取<p> 元素,並將元素的內容輸出和改變元素內容,代碼如下:

結果:

改變 HTML 樣式

HTML DOM 允許 JavaScript 改變 HTML 元素的樣式。如何改變 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>

結果:

顯示和隱藏(display屬性)

網頁中經常會看到顯示和隱藏的效果,可通過display屬性來設置。

語法:

Object.style.display = value

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

value取值:

看看下面代碼:

控制類名(className 屬性)

className 屬性設置或返回元素的class 屬性。

語法:

object.className = classname

作用:

1.獲取元素的class 屬性

2. 為網頁內的某個元素指定一個css樣式來更改該元素的外觀

看看下面代碼,獲得 <p> 元素的 class 屬性和改變className:

結果:

編程挑戰

小夥伴們,請編寫"改變顏色"、"改變寬高"、"隱藏內容"、"顯示內容"、"取消設置"的函數,點擊相應按鈕執行相應操作,點擊"取消設置"按鈕後,提示是否取消設置,如是執行操作,否則不做操作。

任務

一、定義"改變顏色"的函數

提示:

obj.style.color

obj.style.backgroundColor

二、定義"改變寬高"的函數

提示:

obj.style.width

obj.style.height

三、定義"隱藏內容"的函數

提示:

obj.style.display="none";

四、定義"顯示內容"的函數

提示:

obj.style.display="block";

五、定義"取消設置"的函數

提示:

使用confirm()確定框,來確認是否取消設置。

如是將以上所有的設置恢復原始值,否則不做操作。

六、當點擊相應按鈕,執行相應操作,為按鈕添加相應事件

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="txttent-Type" txttent="text/html; charset=utf-8" />

<title>javascript</title>

<style type="text/css">

body{font-size:12px;}

#txt{

height:400px;

width:600px;

border:#333 solid 1px;

padding:5px;}

p{

line-height:18px;

text-indent:2em;}

</style>

</head>

<body>

<h2 id="con">JavaScript課程</H2>

<div id="txt">

<h5>JavaScript為網頁添加動態效果並實現與用戶交互的功能。</h5>

<p>1. JavaScript入門篇,讓不懂JS的你,快速了解JS</p>

<p>2. JavaScript進階篇,讓你掌握JS的基礎語法、函數、數組、事件、內置對象、BOM瀏覽器、DOM操作。</p>

<p>3. 學完以上兩門基礎課後,在深入學習JavaScript的變量作用域、事件、對象、運動、cookie、正則表達式、ajax等課程。</p>

</div>

<form>

<!--當點擊相應按鈕,執行相應操作,為按鈕添加相應事件-->

<input type="button" value="改變顏色" onclick="set.changeColor()">

<input type="button" value="改變寬高" onclick="set.changeSize()">

<input type="button" value="隱藏內容" onclick="set.objHide()">

<input type="button" value="顯示內容" onclick="set.objShow()">

<input type="button" value="取消設置" onclick="set.offSet()">

</form>

<script type="text/javascript">

var txt=document.getElementById("txt");

var set={

changeColor:function(){

txt.style.color="red";

txt.style.backgroundColor="#ccc";

},

changeSize:function(){

txt.style.width="300px";

txt.style.height="300px";

},

objHide:function(){

txt.style.display="none";

},

objShow:function(){

txt.style.display="block";

},

offSet:function(){

var message=confirm("你確定要重置所有設置麽?");

if(message==true){

txt.removeAttribute(‘style‘);

}

}

}

</script>

</body>

</html>

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="txttent-Type" txttent="text/html; charset=utf-8" />

<title>javascript</title>

<style type="text/css">

body{font-size:12px;}

#txt{

height:400px;

width:600px;

border:#333 solid 1px;

padding:5px;}

p{

line-height:18px;

text-indent:2em;}

</style>

</head>

<body>

<h2 id="con">JavaScript課程</H2>

<div id="txt">

<h5>JavaScript為網頁添加動態效果並實現與用戶交互的功能。</h5>

<p>1. JavaScript入門篇,讓不懂JS的你,快速了解JS</p>

<p>2. JavaScript進階篇,讓你掌握JS的基礎語法、函數、數組、事件、內置對象、BOM瀏覽器、DOM操作。</p>

<p>3. 學完以上兩門基礎課後,在深入學習JavaScript的變量作用域、事件、對象、運動、cookie、正則表達式、ajax等課程。</p>

</div>

<form>

<!--當點擊相應按鈕,執行相應操作,為按鈕添加相應事件-->

<input type="button" value="改變顏色" onClick="changeColor()">

<input type="button" value="改變寬高" onClick="changeSize()">

<input type="button" value="隱藏內容" onClick="hidetext()">

<input type="button" value="顯示內容" onClick="showtext()">

<input type="button" value="取消設置" onClick="resettext()">

</form>

<script type="text/javascript">

var myh = document.getElementById("con");

var mydiv = document.getElementById("txt");

//定義"改變顏色"的函數

function changeColor(){

mydiv.style.color="red";

mydiv.style.backgroundColor="#ccc";

}

//定義"改變寬高"的函數

function changeSize(){

mydiv.style.width="200px";

mydiv.style.height="300px";

}

//定義"隱藏內容"的函數

function hidetext(){

mydiv.style.display="none";

}

//定義"顯示內容"的函數

function showtext(){

mydiv.style.display="block";

}

//定義"取消設置"的函數

function resettext(){

var mychose = confirm();

if(mychose==true){

mydiv.removeAttribute("style");

}

}

</script>

</body>

</html>

JavaScript入門--慕課網學習筆記