Javascript學習筆記(1)

來源:互聯網
上載者:User

JavaScript權威指南
1.初識
javascript+DOM
Document對象
javascript與HTML表單進行互動
對錶單域進行讀寫:
表單html
<form name="loandata">
  <input type="text" name="principal",size="12">
</form>
讀寫的javascript代碼
var principal=document.loandata.principal.value;
document.loandata.principal.value=100;
列印:document.write();document.write(msg,"<br>");
警示:alert();
2.基本文法
a.大小寫敏感,無類型。
b.句尾分號可省略,但還是加了比較好
c.注釋://或者/**/
d.直接量:數字,"字串"或'字串',true,false,null。
e.javascript不區分整型和浮點型,都是浮點型。
f.toString(進位),可以將一個數字轉換為指定進位的字串。
g.isNaN()和isFinite()
h.字串可以用雙引號或者單引號,單與html的引號配合使用時,需要錯開使用。如:
 <a href="" onclick="alert('hello')">click me</a>
i.函數定義,需要使用到function關鍵字。不需要定義返回的類型。
j.具有實值型別和參考型別
k.javascript支援記憶體回收
l.全域對象&調用對象:最外層程式本身,就是全域對象。程式全域變數就是這個全域對象的成員。可以在全域層次(全域對象層次)使用this來訪問全域變數(即全域對象的成員)。在具體的用戶端中,這個全域對象就是Window對象。調用對象就是局部變數所附屬的對象。
m.運算子。in:一個字串是否為一個對象的屬性。
              instanceof:一個對象是否為一個類的執行個體。相當於c#中的is
              typeof():輸入一個變數,返回一個字串,指名其是什麼類型,有點像一個函數。(c#的typeof是輸入一個類型,返回一個system.type的執行個體)
n.javascript的switch語句中,case支援運行時變數,而c,c#等必須是編譯時間刻常量
o.for in語句:for(變數 in 對象){},將訪問某個對象的每個屬性名稱。(與c# 中的foreach不同,c#的foreach是訪問集合的每個元素)。可以在語句中利用對象的屬性名稱訪問屬性:對象[屬性名稱](該屬性名稱就是for中的變數)。如:for(var prop in my_object)
                            {
                                   document.write("name:"+prop+",value"+my_object[prop]);
                            }

p.javascript的異常處理
  try
  {}
  catch(ex)
  {}
  finally
  {
  }
  ex沒有類型。
r.函數的嵌套定義:
  函數的動態定義:(匿名函數)
  var f=new function("x","y","return x*y");
  函數直接量
  函數是一種資料類型:類似函數指標(委託)
  函數的Arguments對象:在函數內部通過arguments訪問傳入的參數,可以用於編寫接受任意個參數的函數。參數就從arguments[i]中獲得。另外,arguments.callee就是函數自己。
函數定義中,形參前不需要加類型或者var。
可以得到函數定義時候需要的參數個數:函數名稱.length,或者arguments.callee.length,可以與arguments.length比較,一個是期望的參數個數,一個是實際的參數個數
s.對象
  對象直接量
  對象屬性名稱的枚舉(for in)
  定義一個自訂對象只需要定義其建構函式
t.數組
  數組的定義 var a=new Array();
                 var a=new Array(1,2,3,4,5);
                 var a=new Array(10);//10個元素  
                 var a=[1,2,3,4,5];//數組直接量
u.Regex
   可以使用new RegExp來定義,也可以用直接量 var pattern=/s$/來定義
   其Regex符號規則是Perl的子集.
   常用符號
   數字和字母:代表數字和字母本身
   [abc]匹配a或b或c(注意:[]內的運算式,只匹配一個字元)
   [^abc]匹配非abc的其他所有(^對整個[]起作用)
   [a-zA-Z0-9]對所有大小寫字母和數字匹配,也可以使用其他轉義的代碼來表示一個範圍:
   \w:[a-zA-Z0-9_]
   \W:[^a-zA-Z0-9_]
   \d:[0-9]
   \D:[^0-9]
  表達重複幾次:重複項的說明在模式運算式的後面
  /\d{2,4}/:至少2個數字,至多4個數字
  /\w{3}\d?/:正好3個字元,數字一個或者沒有
 ?:一個或者沒有{0,1}
 +:一次或者多次{1,}
 *:0次或者多次{0,}
3.用戶端的javascript
執行過程是瀏覽器HTML解析過程的一部分。按照順序執行。如果指令碼中有document.write()方法,那麼輸出的文檔被插入到</script>之後,當教本運行結束後,由HTML解析。瀏覽器會在執行教本的時候停止html的解析。
重要的對象
window對象:
frames
alert():阻塞,無返回
confirm():阻塞,返回true,false
prompt():阻塞,返回字串
setTimeout() :調用一次。setInterval重複調用,直到clearInterval
window.location.replace(url):定位到其他頁面
status:控制狀態列中顯示的資料
window.open():開啟新瀏覽器視窗。
document對象:
document.write()
document.writeln()
open()
close()
<img>用document.images[]訪問
<a>用links[]訪問
<applet>用applets[]訪問
訪問表單元素:
<form>用document.forms[]訪問,具有elements[]屬性:document.forms[1].elements[2]
訪問表單中的元素,除了可以通過elements指定序號,也可以直接指定其名稱,如
document.form1.OperatorLogin$UserName.focus();//是登入頁面中,將form1中的OperatorLogin$UserName擷取焦點。
表單的驗證:form的onsubmit事件。即使某個button是服務端控制項,但是如果表單的onsubmit返回false,點擊了該服務端控制項後,也不會提交表單,從而不會激發服務端事件。

問題;
 <input type="submit" value="submit" />也會回調
具體是什嗎?如何在伺服器端捕捉該事件?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.