标签:efi utf-8 color round 参数 声明 log 相同 new
一、函数声明
1、自定义函数
function fun1(){
alert("我是自定义函数");
}
fun2();//函数不调用,自己不执行
2、直接量声明
var fun2=function(){
alert("直接量声明");
}
fun2();
3、利用Function关键字声明
var fun3=new Function("var a=10;b=20;alert(a+b)");
fun3();
二、变量声明提升
如果在一个函数体内部声明了一个变量,不管这个变量函数外部有没有,先执行函数内部的变量,会将变量声明提升到函数开始部分,但是不会赋值。
在函数体内部声明变量,会把该声明提升到函数体的最顶端。但是只提升变量声明,不赋值。
var num=10;
fun1();
function fun1(){
console.log(num);
var num=20;//变量提升
}//undefined
相当于
var num=10;
fun1();
function fun1(){
var num;
console.log(num);
num=20;
}
三、函数传参
函数实参个数要与形参个数相同,arguments.length可以获取函数实参的个数
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script> 7 /*变量提升*/ 8 /*window.onload=function(){ 9 var num=10; 10 fun1(); 11 function fun1(){ 12 console.log(num); 13 var num=20;//变量提升 14 } 15 }//结果:undefined*/ 16 17 /*var a=18; 18 f1(); 19 function f1(){ 20 var b=9; 21 console.log(a); 22 console.log(b); 23 var a=‘123‘; 24 }//undefined,9 25 */ 26 /*函数传参*/ 27 /*function f1(a,b){ 28 console.log(a+b); 29 } 30 f1(1,2);//3 31 f1(5);//NaN*/ 32 33 /*检测函数参数个数匹配*/ 34 function fn(a,b){ 35 console.log(fn.length);//获取函数形参的个数 36 console.log(arguments.length);//得到的是实参的个数 37 if(fn.length==arguments.length){ 38 console.log(a+b); 39 }else{ 40 console.log("对不起,您的参数不匹配,正确的参数个数为:"+fn.length); 41 } 42 } 43 fn(5,3);//2,2,8 44 fn(2,3,4)//2,3,"对不起..." 45 46 47 </script> 48 </head> 49 <body> 50 51 </body> 52 </html>
标签:efi utf-8 color round 参数 声明 log 相同 new
原文地址:http://www.cnblogs.com/le220/p/7487627.html