javascript學習一、js的初步了解
1、javascript的簡介:
*javascript 是一種基於對象和事件驅動的語言,主要應用於客戶端。
-- 基於對象:
** 提供了很多對象,可以直接使用。
--事件驅動:
** html做的網頁是靜態效果,javascript做的是動態效果。
--客戶端:
主要是指瀏覽器。
*js的特點:
(1)交互性:
--信息的動態交互。
(2)安全性:
--s不能訪問本地磁盤中的文件。
(3)跨平臺性:
--與java不同,js直接使用 瀏覽器跨平臺。
*javascript和java之間的區別:(沒有任何關聯)
(1)java是sun公司(現在是oracle)發布
js是網景公司發布。
(2)javascript是基於對象的,java是面向對象的。
(3)java是強類型的語言, js是弱類型的語言。
(4)js是解析就可以執行, java需要先編譯再執行。
*js的組成
有三部份
(1)ECMAScript
--ECMA :歐洲計算機協會, 由其為js指定語法。
(2)BOM
--broswer object model : 瀏覽器對象模型。
(3)DOM
--document object model :文檔對象模型。
2、js和html的結合方式(兩種)
第一種:
--使用一個標簽:
<script type="text/javascript" > js代碼 </script>
第二種:
--引入外部文件:
-- 創建一個 .js文件。
-- <script type="text/javascript" src=" 外部文件地址 "> </script>
註意
3、js的原始類型和聲明變量
** java中有是八大基本數據類型 : byte short int long float double char boolean
js中,只有五個原始類型:
--string: 字符串
*** var str = "abc";
--number: 數字類型
*** var num = 123;
--boolean: true和false
*** var falg = true;
--null:
*** 獲取對象的引用,null用來表示引用為空,所有對象的引用都為 object
*** var date = new Date();
--undifined
*** 定義一個變量,沒有被賦值
*** var aa;
** typeof() ;查看當前變量的數據類型。
** alert() ; 在頁面跳出一個對話框。
** document.write();直接想頁面輸出的語句(可以把括號內的語句輸出到頁面上)
也可以輸出html代碼。
4、js的語句
--在java裏面的語句:
***if語句
***switch語句
***循環語句: for 、while、 do-while
--在js裏面也有這些語句
***if判斷語句
註意:
*****==:判斷
***switch語句
--java從1.7才開始支持 string,枚舉類型,
--js中所有類型都支持。
--switch(a){
case 1:
break;
case 2:
break;
default:
... ...
}
--循環語句: for 、 while 、 do-while:與java中的用法一致。
其中, i++ 和 ++i 和java中是一樣的。
5、js的運算符
** += : x+=y; 等於: x=x+y;
**js裏面不區分整數和小數
var j = 123;
alert(j/1000*1000);
--java中,結果為:0
--js中, 結果為:123
**js中的字符串的相加和相減的操作
var str = "123";
***在相加的時候,做的是字符串的連接。
***在相減的時候,做的是減法運算。
如: alert(str+1)//結果為1231.
alert(str-1)//結果為122.
住意:當str不是一個數字的時候,減法運算會提示錯誤。
var str = "abc";
alert(str-1);//結果為:提示NaN: 表示這不是一個數字。
**boolean也可以進行數學運算
***如果設置成 true ,進行數學運算的時候,相當於值為:1
***如果設置成 false ,進行數學運算的時候,相當於值為: 0
** == 和 === 的區別
他們都是用來做相等判斷的,
*** == 比較的是 值
*** === 比較的是 值 和 類型
如: var i = "5";
i==5 為: true
i===5 為: false。
6、九九乘法表的練習(輸出到頁面)
*使用: document.write()輸出到頁面上。
document.write可以輸出變量,也可以輸出html代碼(加雙引號)
document.write裏面是雙引號,裏面的標簽屬性必須使用雙引號。
7、javascript的數組
--與java不同,js是弱類型的語言,數組中可以存放不同類型的值。
--java數組定義: int[] arr = {1,2,3};
--js數組定義方式(三種):
第一種: var arr = [1,2,3] || var arr = [1,"2",true]
第二種: 使用內置對象 Array,
var arr = new Array(5); //定義了一個長度為5的數組。
arr[0] = "1"; arr[1] = 2; arr[2] = true;
第三種: 使用內置對象 Araay,
var arr = new Array(3,"4",true);//定義一個數組,其中值為:3,4,true
--數組中有一個屬性 length: 獲得數組的長度。
--數組的長度是可變的。(與java數組進行區分)
--數組可以存放不同類型的值(與 java 數組進行區分)
8、js中的方法
**在java中定義方法:
修飾詞 返回值類型 方法名(參數列表){
方法體;
返回值;
}
public int add(int a, int b){
int sum = a+b;
return sum;
}
**在js中定義方法,有三種方式:
第一種方式:
***使用一個關鍵字 function
***function 方法名(參數列表){
方法體;
返回值(視需求,可有可無);
}
for example:
function add(a ,b,c){
var sum = a+b+c;
return sum;
}
(調用方法名,使用定義的方法)
第二種方式:
匿名方法。
*** var 變量名 = function(參數列表){
方法體;
返回值;
}
如:
var add = funtion(a,b){
var sum = a+b;
return sum;
}
(之後使用變量名調用方法)
第三種方式:
***動態方法。
***使用一個js的內置對象 Function
var 變量名 = new Function("參數列表","方法體 和 返回值"); (註意,參數和方法體之間是逗號)
var add = new Function("a,b", "var sum=a+b; return sum");
(之後使用變量名調用函數)
****註意,此方式中,可以預先定義好參數列表,和方法體與方法名,在定義方法的時候直接傳進來。
9、js的全局變量, 和局部變量
**全局變量: 在script標簽裏面定義的一個變量,這個變量在頁面中js部分都可以使用
--在方法外部使用, 在方法內部使用, 在另一個scipt標簽裏使用。
**局部變量: 在方法內部定義的一個變量,只能在在方法內部使用。
--如果在方法外部使用,則會提示出錯。
--SCRIPT5009: "nn"未定義
12-js的局部變量.html,行18 字符3
**ie(火狐)自帶了一個調試工具,ie8及其以上版本,按F12,在頁面下方出現調試欄。
10、script標簽可以放的位置
**按照格式來說, script標簽可以放在任何位置(head,body,甚至是html外)
**但是,在開發中,為了能順利和htnl代碼結合,最好放在:</body> 的後面。
原因:如果script語句中要使用body中的 (如<input type="text"/>中的)值 ,
而script本shent在head中,那麽就會出問題,
html是從上到下進行解析的,此時,script中要使用body中
的值,但是還沒有解析到body,就拿不到這個值。
所以:建議script放在</body>得後面。
11、js方法的重載
**js中沒有重載,在有多個同名但是不同參數的方法時,按照解析順序,調用方法處使用
其上面的離其最近的 定義的方法。(如果參數不合,就會報錯: NaN)
javascript學習一、js的初步了解