JavaScript
1:Function定義。
2:var關鍵字定義變量。在JS中定義變量,可以是任意的類型。是根據後面的數據來決定。
3:function繼承,
原型模式 – prototype.
可以通過prototype擴展,(overied)所有的任意方法。
String.prototype.trim=function(){.....}
1:主要內容
1.1、Js的控制語句。
if(true|false){...}
if判斷的條件:
在JS中判斷中
以下都是false :
1:null
2:0
3:false
4:undefined
var boo=true;
alert(boo);//undefined
if(99){
alert("OKOKK");
}else{
alert("沒有");
}
If中的==條件,===
vara1 = "90";//string類型的
vara2 = 90;//類型,number
if(a1===a2){//==在js中就是equals
//===三個等於全等於:數值一樣,且類型一樣
alert("一樣");
}else{
alert("不一樣");
}
1.2 for(定義;判斷;++|--){...}
以下是是在for中聲明一個變量的示例:
functionabc(){
for(vari=0;i<10;i++){
varname = "ddd";
}
alert("iis:"+i+","+name); //這兒是可以的
}
//調用一下abc(),
abc();
以下是考試:
function abc(){
varj=0;
for(vari=0;i<10;i++){
j=j++;
}
alert("jis:"+j);//j=0
}
//調用一下abc(),
abc();
do..while
while(....){}
switch..case..default..
1.3、for in遍歷
<script type="text/javascript">
var obj = new Object();
obj.name="Jack";
obj['age']=90;
//以下開始遍歷
for(var key in obj){
var value = obj[key];//這兒由於key是一個變量,所以只能使用[]中括號
alert(key+"="+value);
}
</script>
2、JS數據類型的判斷
1:instanceof 是判斷一個變量,是否是某個對象的引用。
2:typeof(變量),判斷一個變量是何種類型,以字符串的形式返回這個類型的名稱
A:用typeof判斷一個變量的類型。
B:用typeof判斷是否是一個函數,且調用它.
2.2、JS中的數據類型
Object– 對象,所有變量都應該是object的子類.
Array – 數組。
String –字符串
Number數字
Function– 說明這個變量是一個函數方法。
2.3、用typeof判斷方法實現回調
回調函數
<scripttype="text/javascript">
//第一個參數是一個string類型的name,
//第二個參數是一個function函數
functionfunc1(name,fun){
alert("nameis:"+name);
fun(name);
}
func1("Tom",function(nm){
alert("這是第二個,你輸入的名稱爲:"+nm);
});
</script>
判斷:
<html>
<head>
<scripttype="text/javascript">
//第一個參數是一個string類型的name,
//第二個參數是一個function函數
functionfunc1(name,fun){
alert("nameis:"+name);
//判斷是否是函數,如果是纔去調用,否則就不去調用
if(typeof(fun)=="function"){
fun(name);
}
}
func1("Tom",function(){
alert('ddd');
});
</script>
</head>
<body>
3、Object與Array數據類型
Object是JS,所在類型的最高父類。
在JS中與Java不同的是,Object同時還是Map.,數據封裝用法。
3.1、一般的數據封裝,用object
<scripttype="text/javascript">
varperson = new Object();
person.name="Jack";//直接將Object當成一個Map來使用,直接設置name的值
person['age']= 90;
//以下提示name,age的值
alert(person['name']+","+person.name);
alert(person['age']+","+person.age);
</script>
3.2、遍歷一個Object(Map)
以下是Java代碼遍歷一個Map
import java.util.Map.Entry;
import org.junit.Test;
public class One {
@Test
public void aa(){
Map<String,Object> mm = new HashMap<String, Object>();
mm.put("name","Jack");
mm.put("age",99);
for(Entry<String,Object> en:mm.entrySet()){
System.err.println(en.getKey()+","+en.getValue());
}
System.err.println("-------------------------");
Iterator<String> keys = mm.keySet().iterator();
while(keys.hasNext()){
String key = keys.next();
System.err.println(key+","+mm.get(key));
}
}
}
在JS中通過for..in遍歷一個object
<script type="text/javascript">
var obj = new Object();
obj.name="Jack";
obj['age']=90;
//以下開始遍歷
for(var key in obj){
var value = obj[key];//這兒由於key是一個變量,所以只能使用[]中括號
alert(key+"="+value);
}
</script>
3.3、定義Object的方法
1:可以這樣定義:
Varobj = new Object();
obj.name=”Jack”;
2:第二種方法 用的更多的這種。
Var obj = {“name”:”Jack”,”age”:90};///JSON
<script type="text/javascript">
var obj = {"name":"Jack","age":90};
alert(obj.name+","+obj.age);
for(var key in obj){
alert(key+"="+obj[key]);
}
</script>
4、Array數據類型
1、定義
1.1
//聲明一個array長度是0
var arr = new Array();
arr[0] = "Jack";
arr[1] = "Rose";
arr[5] = "Marry";
alert(arr.length);
//顯示
alert(arr[1]+","+arr[0]);
//遍歷
for(var i=0;i<arr.length;i++){
alert("第"+i+"個 is:"+arr[i]);
}
1.2、 不用數字定義下標
//聲明一個array長度是0
var arr = new Array();
arr['name']= "你好";
arr['addr']= "山東";
//如果沒有下標,這個arrary將轉換成object
alert(arr.length);//0
for(var key in arr){
alert(key+","+arr[key]);
}
1.3、直接不用new array定義一個數組
String[],list==[]
<script type="text/javascript">
//這樣定義更好更快
var arr = ["山東",'北京','上海'];
alert(arr.length);//3
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
</script>
5、二級聯動示例
第一步:定義數據
如何表示數據結構。
第二步:設置程序,出現省,且選擇省時再出現市
<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>Insert titlehere</title>
</head>
<body>
<!-- //第二步:聲明兩個select -->
<!-- 第四步:當值發生變化時,設置市的值 -->
省:<select id="pre" style="width:100px" onchange="_chg(this);">
<option value="-1">請選擇省</option>
</select>
市:<select id="city" style="width:100px;"></select>
</body>
<script type="text/javascript">
//第一步:定義數據結構
//山東:濟南,青島。
//北京:昌平,東城
var citys = {
"山東":["濟南","青島","煙臺","威海"],
"北京":["昌平","東城","海淀"],
"上海":['浦東',"AAA","BBB","CCCC"]
};
//第三步:將山東,北京
//遍歷citys,獲取這個對象的key.
for(var pr in citys){
//聲明option("value","顯示")
var op = new Option(pr,pr);
//將op添加到省中去
pre.options.add(op);
}
//第四步的.1:
function _chg(sel){
//第五步:根據value值,獲取這個value的對應的citys中的數組
var ccs = citys[sel.value];//[濟南,青島]
//先刪除以前高市的信息
city.options.length=0;
//將ccs遍歷添加到
for(var i=0;i<ccs.length;i++){
//再聲明option
var op = new Option(ccs[i],ccs[i]);
city.options.add(op);
}
}
</script>
</html>