赤青1

那些我们丢失的美好!是我们永远的遗憾与记忆

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

什么是函数

函数的作用,可以写一次代码,然后反复地重用这个代码。

<h3 onload="add2(1,2,3);add3(4,5,6)"></h3>
<hr/>
<button style="width: 100px;height: 50px;" value="" onclick="add(10,20)">什么是函数</button>
<button style="width: 100px;height: 50px;" value="" onclick="sub()">定义函数</button>
<button style="width: 100px;height: 50px;" value="" onclick="FUNC()">函数叠加功能调用</button>
<hr/>
<h3>有参函数调用:</h3>
<button style="width: 100px;height: 50px;" value="" onclick="add4(10,20)">返回值函数</button>
<script type="text/javascript" src="../JS/jq/jquery-3.2.1.min.js"></script>
<script type="text/javascript">

function add(a1,a2) {
var sum=a1+a2;
alert(sum);
}

//调用函数

//add(10,20);
var sum=1;
function sub(argument) {//调用函数
sum+=1;
alert(sum);
}
function FUNC(){//函数调用
for (var i =0; i < 10; i++) {
sub();
}
}

//函数传参

function add2(x,y,z){
var sum = x + y +z;
document.write(x+"、"+y+"、"+z+"和:"+sum+"<hr/>");

}

function add3(x,y,z){
var sum = x + y +z;
document.write(x+"、"+y+"、"+z+"和:"+sum+"<hr/>");
}


//返回值函数


function add4(x,y){
var result=x+y
return result;
}
var value=add4(20,10);
document.write("返回值:"+value);
</script>

 1、JS函数定义

  含义:JS使用关键字function定义函数,函数可以同过声明定义,也可以是一个表达式。

一:函数声明

function save(){//函数体}

二:函数表达式

var x = function (a, b) {return a * b};

三:functiion构造函数

var myFunction = new Function("a", "b", "return a * b"); 
var x = myFunction(4, 3);

注意:在 JavaScript 中,很多时候,你需要避免使用 new 关键字

四:函数提升:

提升:是JS默认将当前作用域提升到前面去的行为。提升应用在变量的声明与函数的声明,因此,函数可以在申明之前调用。

myFunction(5);
function myFunction(y) {
    return y * y;
}

注意:使用表达式定义函数时无法提升

五:自调用函数:函数实际上是一个 匿名自我调用的函数 (没有函数名)。

(function () { 
    var x = "Hello!!";      // 我将调用自己 
})();

六:函数可作为一个值使用也可以作为表达式使用

function myFunction(a, b) { 
    return a * b; 

var x = myFunction(4, 3);

七:函数是对象

实列:

function myFunction(a, b) { 
    return arguments.length; 
}

toString()将函数作为一个字符串返回

2、JS函数参数

一:JavaScript 函数参数:

  1、显式参数:函数显式参数在函数定义时列出。

functionName(parameter1, parameter2, parameter3) {
    code to be executed
}

  2、隐藏参数:函数隐藏参数(arguments)在函数调用时传递给函数真正的值。

  3、默认参数:如果函数在调用时缺少参数,参数会默认设置为: undefined

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    } 
}

  4、Arguments 对象:JavaScript 函数有个内置的对象 arguments 对象.

   argument 对象包含了函数调用的参数数组。

实例

找出最大的值

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {

    var i, max = arguments[0];

    if(arguments.length < 2)return max;

    for (i = 0; i < arguments.length; i++) {

        if (arguments[i] > max) {

            max = arguments[i];

        }

    }

    return max;

}

  统计所有数值的和:

x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

  5、通过值传递参数:在函数中调用的参数是函数的参数。如果函数修改参数的值,将不会修改参数的初始值(在函数外定义)。

实例

var x = 1;
// 通过值传递参数
function myFunction(x) {
    x++; //修改参数x的值,将不会修改在函数外定义的变量 x
    console.log(x);
}
myFunction(x); // 2
console.log(x); // 1
  6、
通过对象传递参数:在JavaScript中,可以引用对象的值。因此我们在函数内部修改对象的属性就会修改其初始的值。修改对象属性可作用于函数外部(全局变量)。

实例

var obj = {x:1};
// 通过对象传递参数
function myFunction(obj) {
    obj.x++; //修改参数对象obj.x的值,函数外定义的obj也将会被修改
    console.log(obj.x);
}
myFunction(obj); // 2
console.log(obj.x); // 2


3、JS函数调用
  

 

posted on 2019-07-11 00:40  赤青1  阅读(130)  评论(0编辑  收藏  举报