javascript
JavaScript函数简介
1./* JavaScript函數
???函數function
???- 函數也是一個對象
???- 函數中可以封裝一些功能(代碼),在需要的使用可以執行這些功能(代碼)
???- 函數中可以保存一些代碼在需要的時候調用
???- 使用typeof檢查一個函數對象時,會返回function
*/
//1.使用構造函數創建一個函數對象
//2.使用函數聲明創建一個函數
//3.使用函數表達式創建一個函數/匿名函數
{//代碼塊
console.log("蘋果");
console.log("葡萄");
console.log("菠蘿");
}
// var obj=new Object();
//我們在開發的時候不建議使用這種方式
//可以將要封裝的代碼以字符串的形式傳遞給構造函數
var fun1=new Function("console.log('這是通過構造函數創建的函數')");
console.log(typeof fun1);
//封裝到函數中的代碼不會即可執行
//函數中的代碼會在函數調用的時候執行
//調用函數:語法 函數對象();
//當調用函數時,函數中封裝的代碼會按照順序執行
fun1();
/*使用函數聲明來創建一個函數(建議使用方式)
??語法:function 函數名([形參1,形參2,...,形參N]){
?? //語句
?? }
??說明:[形參1,形參2,...,形參N]這里的[]表示可以使用參數也可以不使用參數
??函數的調用:函數名([實參1,實參2,...]);
*/
function fun2(){
console.log("蘋果");
console.log("葡萄");
console.log("菠蘿");
}
fun2();
//匿名函數
// function(){
//
// }
//使用函數表達式創建一個函數
var fun3= function(){
alert("這是一個匿名函數")
};
fun3();
/*定義一個用來求兩個數和的函數
可以在函數的()中來指定一個或多個形參(形式參數)
多個形參之間使用","隔開,聲明形參就相當于在函數內部聲明了對應的變量
但是并不賦值
*/
function sum(a,b){
var add=a+b;//false+"123" =>false123
console.log(add);
}
sum(123,456,45,56,56,67);
sum(false,"123");
/*調用函數時解析器不會檢查實參的類型,
所以要注意,是否有可能會接收到非法的參數,如果有可能則需要對參數進行類型的檢查
*/
/*調用函數時,解析器也不會對檢查實參的數量
多余的參數將不會被賦值
如果實參少于形參的數據,則沒有對應實參的形參將是undefined
*/
function result(a,b,c){
console.log("a="+a);
console.log("b="+b);
console.log("c="+c);
var sum=a+b+c;
console.log("sum="+sum);
}
result(123,234);//實參少于形參
result(123,234,345,6767,78,9);//實參多余形參
/*32.0 JavaScript函數的返回值
創建一個函數,用來計算三個數的和
可以通過return 來返回函數的返回值
語法:return 值;
return 后面值將會作為函數的執行結果返回,
可以定義一個變量來接收函數的返回值
在函數return后的語句都不會執行
如果return語句后不跟任何值,就相當于返回一個undefined
*/
function sum(a,b){
var c=a+b;
return c;
alert("234234");
alert("234234");
alert("234234");
alert("234234");
}
var total = sum(12,45);
console.log("返回結果=="+total);
/* 立即執行函數
函數定義完,立即被調用,這種函數叫做立即執行函數
立即執行函數往往只會執行一次
*/
(function(){
alert("這是一個立即執行函數");
})();
(function(a,b){
alert(a+b);
})(23,23);
call()與apply()
- 這兩個方法都是函數對象的方法,需要通過函數對象來調用
- 當對函數調用call()和apply()都會去調用函數執行
- 在調用call()與apply()可以將一個對象指定為第一個參數
此時這個對象將會成為函數執行時的this
- call()方法可以將實參在對象之后依次傳遞
- apply() 方法需要將實參封裝到一個數組中統一傳遞
總結
以上是生活随笔為你收集整理的JavaScript函数简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中为什么sem_open返回0
- 下一篇: HTML5七夕情人节表白网页制作【爱心雨