js函数

函数前面使用关键词 function声明,代码块包含在{ }内。

函数声明后不会立即执行,在调用才会执行。

在函数内声明的变量为局部变量,只能在函数内部使用,可在不同的函数中使用相同的变量名。

在函数外声明的变量为全局变量,在整个js代码中都可以使用。

function functionname(参数)
{
    // 执行代码
}

1.不带参数的函数

<p>点击按钮</p>
<button onclick="myFunction()">点击这里</button>
<script>
function myFunction(){
    alert("Hello,welcome!");
}
</script>

2.带参数的函数,多个参数用逗号分隔,且传入参数的个数要与函数定义的参数个数一致,执行时会按照顺序一一对应

可通过arguments.length 属性返回函数调用过程接收到的参数个数。

<p >函数测试</p>
<button onclick="myFunction('Jack','teacher')">点击这里</button><br>
<p id="test1"></p>
<p id="test2"></p>
<script>
    function myFunction(name,job){
        var x='I am  '+name +' and I am a '+job;
        document.getElementById('test1').innerHTML=arguments.length;
        document.getElementById('test2').innerHTML=x;
    }
</script>

3.有返回值的函数,通过return返回值,没有return的函数返回值为null

函数遇到return即停止执行(不是js代码停止执行),再从调用函数的位置继续执行

<p>函数测试</p>
<p id="test"></p>
<script>
    function myFunction(a,b){
        return a*b;
    }
document.getElementById('test').innerHTML=myFunction(5,8);

4.函数表达式,即一个匿名函数

可将函数表达式赋值给一个变量,变量被赋值后也可以当做一个函数使用

<p>函数存储在变量后,变量可作为函数使用:</p>
<p id="demo"></p>
<script>
var x = function (a, b) {return a * b};
document.getElementById("demo").innerHTML = x(4, 3);
</script>

5.创建一个对象,并在对象中定义一个对象的方法

<p>创建和使用对象方法。</p>
<p>对象方法是一个函数定义,并作为一个属性值存储。</p>
<p id="demo1"></p>
<p id="demo2"></p>
<script>
var person = {
    firstName: "John", lastName : "Doe",id : 5566,
    fullName : function() {
       return this.firstName + " " + this.lastName;}
};
document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:"  + person.fullName;
document.getElementById("demo2").innerHTML = "加括号输出函数执行结果:"  +  person.fullName();
</script>
    

6.自调用函数

函数表达式可以自调用,将整个函数表达式用括号括起来,并在表达式后面添加括号,可实现自动调用。

<p>函数可以自动调用:</p>
<p id="demo"></p>
<script>
(function () {
    document.getElementById("demo").innerHTML = "Hello! 我是自己调用自己的";
})();
</script>
原文地址:https://www.cnblogs.com/Forever77/p/10246997.html