JavaScript Function
<h2>函数声明</h2>
自定义函数分为两类,有名函数和匿名函数。
有名函数的定义也叫函数声明,基本语法:
<pre class=“language-javascript line-numbers”><code class=“language-javascript”>
//function 函数名(){
// 需要执行的代码
//}
// 命名函数
function fn(){
alert(1)
}
// 调用该函数
fn();
</code></pre>
匿名函数的定义有两种形式,函数表达式形式和事件注册形式。
函数表达式的基本语法:
函数表达式将匿名函数赋给一个变量,这样调用的匿名函数就可以通过这个变量来调用。
<pre class=“language-javascript line-numbers”><code class=“language-javascript”>
//let 变量名 = function (){
// 需要执行的代码
//}
// 函数表达式
var fn2 = function(){
console.log(123);
};
</code></pre>
事件注册式的基本语法:
<pre class=“language-javascript line-numbers”><code class=“language-javascript”>
//文档对象.事件 = function(){
// console.log(123)
//};
btn.onclick = function(){
console.log(123);
}
</code></pre>
<h2>函数传参</h2>
<h3>实参与形参</h3>
所有的数据类型都可以当参数传递进去,多个参数用逗号隔开。
<pre class=“language-javascript line-numbers”><code class=“language-javascript”>
// n,f 形参 - 形式上定义的参数名,形参与实参一一对应
function fn(n,f){
alert(n); //1
console.log(f); //2
}
// 1,2 实参 - 实际传递的参数
fn(1,2);
//fn([1,2,3],function(){ alert(‘aaa’) })
</code></pre>
<h3>arguments 不定参</h3>
arguments其实就是传递给函数的实参集合。
它类似数组Array的对象,存放在arguments中的每一个实参,可以用<code>arguments[下标]</code>的格式来访问,对于arguments中存放的实参个数则可以使用<code>arguments.length</code>获得,除了length属性和通过索引值引用之外不能用任何数组的方法。
<pre class=“language-javascript line-numbers”><code class=“language-javascript”>
function fn(){
// arguments 获取一组实参 伪数组
console.log(arguments[1]); //2
// 实参的长度
console.log(arguments.length); //5
}
fn(1,2,3,4,99);
// arguments 不定参应用 实参的累加和
function fnSum(){
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
console.log(sum);
}
fnSum(1,2,3,4,5,6,7,8,9); //45
</code></pre>
