1.JavaScript

  a.定義:JavaScript是腳本語言,是一種輕量級的編程語言

  b.實現:①直接通過標簽里面的onXX屬性驅動js的執行

<input?type="button"?value="測試"?οnclick="alert(‘hello‘)">

      ②引入外部js文件——JavaScript File

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

      ③可被放置在 HTML 頁面的 <body> 和 <head> 部分中

<script?type="text/javascript">alert("script");</script>



2.數據類型:

  a.數據類型:字符串(String)、數字(Number)、布爾(Boolean)、數組(Array)、對象(Object)、Null、Undefined

var?num?=?1;var?str?=?"hello";var?flag?=?true;var?str1;

    注:加了var聲明變量,代表的是局部變量,不加則代表的是全局變量


  b.通過 newNumber 可以進行與字符串和布爾的轉換:

var?num?=?new?Number(1);var?num?=?new?Number(true);????//結果為1var?num?=?new?Number("12");????//如果字符串不為數字,則結果為NaN


  c.通過 newString 可以進行與數字和布爾的轉換:

var?str?=?new?String("hello");var?str?=?new?String(12);var?str?=?new?String(ture);????//結果為true


  d.通過 newBoolean 可以進行與數字和字符串的轉換:

var?flag?=?new?Boolean("123");????//非空為真var?flag?=?new?Boolean(2);????//非0為真

    注:字符串:“”空為false,非空為true

      數字:非0為true,0為false


  e.null 與 undefined 的區別:

    ①undefined :聲明了變量并未初始化

    ②null:當在文檔中找不到這個元素的時候


  f.對象(Object):

    ①初始化:

//對象初始化方式一:var?person?=?{userName:"張三",userPwd:"123",userAge:18}//對象初始化方式二:var?user?=?new?Object();
user.userName?=?"李四";
user.userAge?=?18;

    ②屬性訪問:

//對象的屬性訪問方式一:????對象名.屬性名;alert(user.userName);//對象的屬性訪問方式二:????對象名["屬性名"];alert(user["屬性名"]);

  g.數組

    聲明:

var?array?=?new?Array();????//聲明方式一var?array?=?new?Array(3);var?nums?=?[1,2,"張三"];????//聲明方式二var?strs?=?new?Array("張三","李四");????//聲明方式三var?strs?=?new?Array(new?Number(2));



3.運算符

  a.算數運算符:+ - * / % ++ --

  b.賦值運算符:+= -= *= /= %=

  c.比較運算符:== === > < >= <= !=

    ①===:表示類型和值都一樣

    ②==:表示值一樣

    在js中字符串的比較一般用==來代替.equal

  d.邏輯運算符:&& || !

  e.三目運算符:

var?num?=?判斷表達式???真執行表達式?:?假執行表達式



4.判斷語句:if-else switch

5.循環語句:while do-while for for-each

for(i?=?0;?i?<?100;?i++){alert(i);
}
for(index?in?names){document.write(names[xindex]);
}



6.方法

  a.聲明:

function?test(a,b){????//聲明方式一return?a+b;
}var?test1?=?function(){????//聲明方式二}var?test2?=?new?Function(?function?(){????//聲明方式三})

    注:函數默認返回值未定義(undefined)

      函數如果需要返回值,直接return


  b.訪問:

test();



7.String (String的方法與Java類似,詳見API)

str.substr(1,3)????//截取從下標為1的元素開始取3個str.substring(1,3)????//截取下標1到2的元素(前閉后開)

  注:js字符串的length是屬性,而java中是方法



8.時間(Date)

var?date?=?new?Date();????//聲明var?date?=?new?Date("2015/01/01");getDay();????//一周的第幾天(0-6)getDate();????//一月的第幾天(1-31)getMonth();????//月份(0-11)getFullYear();????//以四位數字返回年份getHours();????//小時?(0?~?23)getMinutes();????//分鐘?(0?~?59)getSeconds();????//秒數?(0?~?59)getMilliseconds();????//毫秒(0?~?999)getTime();????//返回1970年1月1日至今的毫秒數
Date.parse("2015/01/01");????//指定日期的毫秒數



9.數學(Math)(方法與Java類似,詳見API)


10.全局函數

isNaN();????//檢查某個值是否是數字Number();????//把對象的值轉換為數字String();????//把對象的值轉換為字符串parseInt();????//解析一個字符串并返回一個整數parseFloat();????//解析一個字符串并返回一個實數eval();????//計算?JavaScript?字符串,并把它作為腳本代碼來執行



11.事件(Events)

  a.UI相關:onload、onunload、onresize、onselect

  b.焦點相關:onblur、onfocus

  c.鼠標與滾輪相關:onclick、ondblclick、onmousedown、onmousemove、onmouseout、onmouseover、onmouseup

  d.鍵盤相關:onkeydown、onkeyup、onkeypress

  e.其他:onabord、onchange



12.正則表達式(RexExp)

var?regex?=?/^[a-z]$/?g;????///pattern/attributesvar?regex?=?new?RegExp?("[a-z]","g");????//new?RegExp(pattern,?attributes);regex.text(str);????//檢索字符串中指定的值。返回?true?或?falseregex.exec(str);????//檢索字符串中指定的值。返回找到的值,并確定其位置

  注:str.match(regex);

    返回的是根據正則表達式匹配的結果

    如果全局匹配,返回的是數組

    如果沒有匹配成功,則返回null

Java 之 JavaScript (一)