在本文章中,將對JS中的函數和對象進行一些講解,不對之處還請之處
一.JS中的函數
1.1無參函數
其形式如下代碼所示
function box(){
alert("我是一個函數,只有被調用才會執行");
}
box();
運行結果如圖1.1
圖1.1
1.2有參函數
有參函數其形式如下
function box(name,age){ alert("你的名字是"+name+",年齡為"+age); } box("李大寶",22);
運行結果如圖1.2
圖1.2
1.3return的用法
其形式如下
function box(){ return "哈哈哈哈"; //return 相當於把這句話字符串返回回來 } //打印出函數調用返回回來的結果 alert(box()); //box() 調用,相當於box = 哈哈哈哈
運行結果如圖1.3
圖1.3
1.4return有參數的函數
其形式如下
function box(name,age){ return "你的名字是"+name+",年齡為"+age; } alert(box("李大寶",22)); // 也可以把函數的返回值賦值給一個變量,然后通過變量操作 var strinfo = box("李大寶",23); alert(strinfo);
運行結果如圖1.4
圖1.4
其中,return運行中需注意一些問題:當一個函數中有多個return,遇到第一個return,就會終止繼續往下執行,第一個return未賦值,則返回undefined
舉例如下
function box(){ return 10; return 100; //當一個函數遇到第一個return,就會終止繼續往下執行, //第一個return未賦值,則返回undefined } alert(box());
運行結果如圖1.5
圖1.5
1.5arguments對象
其形式如下
function box(){ return arguments[0]+"|"+arguments[1]+"|"+arguments[2]+"|"+arguments[3]; } alert(box("李大寶",22,"船舶專業","未婚"));
運行結果如圖1.6
圖1.6
1.6利用arguments動態求和
其代碼如下
function box(){ var sum = 0; for(var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; } alert(box(1,2,4));
運行效果如圖1.7
圖1.7
二.JS中的對象
2.1創建一個新的對象
其形式如下
var box = new Object(); //創建一個新的對象 box.name = "李大寶"; alert(box.name);
運行效果如圖2.1
圖2.1
其中new可以省略
//new 可以省略 var box = Object(); alert(box);
運行效果如下圖2.2
圖2.2
可用{}創建一個新對象
var box = {}; //字面量方式創建的對象 alert(box);
效果為圖2.3
圖2.3
2.3字面量對象的屬性
var box = { name : "李大寶", //字面量對象封裝數據 age :22 }; alert(box.age);
效果如下圖2.4
圖2.4
也可以以另一種聲明方法
var box = { "name" : "李大寶", //字面量對象封裝數據 "age" :22 //屬性可以用字符串形式 }; alert(box.age);
效果圖為2.5
圖2.5
2.4給對象創造方法
//給對象創造方法 var box = { name : "李大寶", age : 22, run: function(){ //匿名函數 return"123"; } }; alert(box.run()); //調用函數,如果沒有(),會打印代碼 //有()才會打印返回值
效果如圖2.6
圖2.6
2.5delete屬性
var box = { name:"李大寶" } alert(box.name); //delete,刪除屬性 delete box.name; alert(box.name);
其效果如下
圖2.7
應用舉例:自變量對象的傳參
function box(obj){ alert(obj.name); alert(obj.age); alert(obj.hobby); } var obj = { name:"李大寶", age :"22", //封裝對象屬性,不會亂 hobby:"敲代碼" }; box(obj);
效果圖如下圖2.8
圖2.8
.
.
.
.
由於時間關系,本次講解到此為止,下一篇博文將繼續介紹函數的對象問題
<獨創聲明,未經允許不得轉發!!!>