JS函数的形参和实参、函数的name属性

243 阅读1分钟

实参:fn(a,b)==>这里的a,b代表实参

1.实际传入函数的参数(实参)的个数可以比形参的个数多,按照顺序赋值,不会影响程序的执行逻辑,但是会影响性能。
2.实参个数可以比形参个数少,可能会影响程序的执行逻辑==>可以解决:实设计函数时提前预设

注意:函数内部有一个关键字arguments,代表实际传入函数的参数列表(类数组),argument.length代表着实参的个数

  <script type="text/javascript">
		function fn(a,b){
			var c=a+b;
			console.log(c)
		}
		fn(1,2,3,4)//上面的c!=7,但是不代表a=3和b=4没有传进去,只是3和4被保存在了函数内部的arguments关键字中
                    
	</script>

image.png

<script type="text/javascript">
		function fn(a,b){
		    //隐式声明:
                        //var a,b
			console.log(a,b)
		}
		fn(1)
	</script>
            

image.png

形参:function fn(a,b){}==>这里的a,b代表形参

注意:fn.length代表着函数形参的个数

函数的name属性:

1.fn

 <script type="text/javascript">
		function fn(){
			
		}
		console.log(fn.name)
	</script>

image.png

2.a

 <script type="text/javascript">
		var a=function (){
			
		}
		console.log(a.name)
	</script>
            

image.png

3.fn

 var a=function fn(){
			
}
console.log(a.name)
    

image.png

4.fn

<script type="text/javascript">
	function fn(){
		
	}
		var a=fn
		console.log(a.name)
	</script>
            

image.png