107個常用Javascript語句
1.document.write( ” “); 輸出語句
2.JS中的註釋爲//
3.傳統的HTML文檔順序是:document- >html- >(head,body)
4.一個瀏覽器窗口中的DOM順序是:window- >(navigator,screen,history,location,document)
5.得到表單中元素的名稱和值:document.getElementById( “表單中元素的ID號 “).name(或value)
6.一個小寫轉大寫的JS: document.getElementById( “output “).value = document.getElementById( “input “).value.toUpperCase();
7.JS中的值類型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型轉換成數值型:parseInt(),parseFloat()
9.JS中的數字轉換成字符型:( ” ” 變量)
10.JS中的取字符串長度是:(length)
11.JS中的字符與字符相連接使用 號.
12.JS中的比較操作符有:==等於,!=不等於, >, >=, <. <=
13.JS中聲明變量使用:var來進行聲明
14.JS中的判定語句結構:if(condition){}else{}
15.JS中的循環結構:for([initial expression];[condition];[upadte expression]) {inside loop}
[ad#468*15-w2]
繼續閱讀…
JS的對話框
JS的對話框
1.警告框(alert):出現一個提示框
2.詢問框(prompt):返回輸入的值
<script>
var username=prompt(“請輸入你的名字:”);
document.write(“你好!”+username);
</script>
3.確認框(confirm):根據不同的選擇,返回true/false
<head>
<script>
function confirmit() {
if(confirm(“你確認刪除此文件麼?”)) {
document.testa.submit();//如果點確認,則提交爲true
}
}
</script>
</head>
<body >
<form action=”tt.htm” method=”post” >
<input value=”刪除文件”/>
</form>
</body>
[ad#468*15-w2]
JS函數及事件處理
JS函數及事件處理:
無參函數定義
<Script language=”JavaScript”>
function test()
{
document.write(“a”);
}
</Script>
調用:
<Script language=”JavaScript”>
test();
</Script>
有參函數
function test(a)
{
document.write(a);
}
test(“sldfsf”);–傳什麼就打印什麼
可以返回值,但不需要寫返回類型(因爲弱類型)\
function test(y)
{
return y*3;
}
document.write(test(22));
JS事件處理(重點)
1.onFocus:在用戶爲了輸入而選擇select,text.textarea等時
<body>
<form name=”test”>
<input type=”text” name=”userName” value=”sss” onfocus=”JavaScript:alert(document.test.userName.value);” />
</form>>
</body>
2.onBlur:在select ,text,password,textarea失去焦點時
3.onChange:在select,text.textarea的值被改變且失去焦點時
4.onClick:在一個對象被鼠標點中時(button,checkbox,radio,link,reset,submit,text,textarea等)
<body>
<img src=”dsf.jpg” onclick=”alert(‘OK’);” ></img>
</body>
5.onLoad:出現在一個文檔完成對一個窗口的載入時(一般寫在Body標籤中,即窗口第一次載入時)
<body onload=”javacript:alert(‘hello’);” onunload=”javascipt:alert(‘byebye’);”>
nihao
</body>
6.onUnload:當用戶退出一個文檔時(同上)
7.onMouseOver:鼠標被移動到一個對象上時
<body >
<img src=”sdf.jpg” onmouseover=”alert(‘over’);” onmouseout=”alert(‘out’)” ></img>
</body>
8.onMouseOut:鼠標從一個對象移開時(同上)
9.onSelect:當form對象中的內容被選中時(比如全選,部分選中等)
<body >
<form name=”test”>
<input type=”text” name=”t” value=”hello” onselect=”javascript:alert(”);” />
<select name=”se”>
<option value=”0″>hehe</option>
<option value=”1″>hehe</option>
</select>
</form>
</body>
10.onSubmit:出現在用戶通過提交按鈕提交一個表單時
<body >
<form name=”test” action=”1.htm” onsubmit=”return true;”>
<input type=”submit” value=”ok” />
</form>
</body>
———-
<body >
<form name=”test” action=”1.htm” onsubmit=”alert(‘ok’);”>–在點了提交按鈕後但在表單真正提交上去之前彈出
<input type=”submit” value=”ok” />
</form>
</body>
—–
<body >
<form name=”test” action=”1.htm” onsubmit=”return false;”>–程序執行到此中止
<input type=”submit” value=”ok” />
</form>
</body>
小結:onsubmit=”return false/true;”很重要,可以用來做驗證,注意上面的返回只能是T/F之一
<head>
<script type=”text/javascript”>
function check() {
if(document.test.t.value==”") {
alert(“空串不允許”);
return false;
}
return true;
}
</script>
</head>
<body >
<form name=”test” action=”1.htm” onsubmit=”return check();”>
<input type=”text” name=”t” />
<input type=”submit” value=”ok” />
</form>
</body>
JS基本語法
JS基本語法:
變量
JS是一門弱類型的語法,所有的變量定義均以var來實現
JS的變量建議先定義,再使用,最好加註釋
Js區分大小寫
JS可以不需定義即可直接使用變量,但不建議這麼做.
數組定義:
var arr=new Array(3);
通過arr.length取得數組的長度
注意.JS中數組長度雖然可以定義,但沒什麼用,不會出現數組溢出的情況
使用+進行字符串連接
字符串在Js也是當成對象使用的
substring(),charAt()
JavaScript初步及調試
JS初步及調試:
JavaScript(ECMAScript)包含三部分內容:
1.基礎語法
2.Dom
Document object model
3.Bom
Brower object model
把整個瀏覽器當作對象,然後就可以通過它控制裏面的各個對象,比如工具欄等
alert(“ddd”);
document.write(“ddd”);
引入外部Js(2.js)文件:
<script src=”2.js”></script>
Js弱類型,全部變量使用var來定義
Js的調試:
1.使用打印
2.啓用腳本錯誤通知
IE–工具–internet選項–高級–(取消)禁用腳本調試–打勾禁用腳本調試(其他)–勾上顯示每個腳本錯誤的通知
Wait sleep區別
- 來源不同
- Sleep是Thread提供的方法
- Wait繼承自Object
- 代碼位置不同
- Wait需要寫在Synchronize語句塊裏面
- 是否釋放鎖定對象
- 調用wait方法,釋放鎖定該對象
- Sleep時別的線程也不可以訪問鎖定對象
Synchronized總結
- 無論synchronized關鍵字加在方法上還是對象上,它取得的鎖都是鎖在了對象上,而不是把一段代碼或函數當作鎖――而且同步方法很可能還會被其他線程的對象訪問。
- 每個對象只有一個鎖(lock)與之相關聯。
- 實現同步是要很大的系統開銷作爲代價的,甚至可能造成死鎖,所以儘量避免無謂的同步控制。
- 搞清楚synchronized鎖定的是哪個對象,就能幫助我們設計更安全的多線程程序。
- 還有一些技巧可以讓我們對共享資源的同步訪問更加安全:
- 定義private 的instance變量+它的 get方法,而不要定義public/protected的instance變量。如果將變量定義爲public,對象在外界可以繞過同步方法的控制而直接取得它,並改動它。
- 如果instance變量是一個對象,如數組或ArrayList什麼的,那上述方法仍然不安全,因爲當外界對象通過get方法拿到這個instance對象的引用後,又將其指向另一個對象,那麼這個private變量也就變了,豈不是很危險。 這個時候就需要將get方法也加上synchronized同步,並且,只返回這個private對象的clone()――這樣,調用端得到的就是對象副本的引用了。
對於synchronized,其使用原則就是能同步兩行就不要同步三步,能同步一部分代碼就不要同步整個方法,儘量少用同步
關於鎖的理解:
關鍵是看它鎖定的對象或者引用所指向的對象是否一致。同步的時候就用鎖對對象進行加鎖,有了這鎖就可以防止對方訪問,要訪問就要排隊,但是對自身來說要訪問則沒任何障礙。