【JavaScript学习1-2】数组、自定义函数

一、数组:

与Java有相似之处,但也不完全相同


创建方法1:

var cars=new Array();
cars[0] = "Saab";
cars[1] = "Volvo";
cars[2] = "BMW";
// 或者:
var cars=new Array("Saab","Volvo","BMW");

创建方法2:

var arr = [1270,2333,0,1,114514];

数组的遍历

通过以下代码理解:

<script>
    var a = [100,7,65,54,12,6];
    var mx = a[0];
    var mn = a[0];
    var n = a.length;
    for(var i = 1;i < n;i ++)
    {
        if(a[i] > mx) mx = a[i];
        if(a[i] < mn) mn = a[i];
    }

    // 或者写为
    // for(i in a)
    // {
    //     if(a[i] > mx) mx = a[i];
    //     if(a[i] < mn) mn = a[i];
    // }

    document.write("最大值:" + mx + "<br>");
    document.write("最小值:" + mn);
</script>

二维数组的创建与遍历

var ac = [[1,2,3],[5,6,7]];

遍历二维数组

for(i in ac)
    for(j in ac[i])
        document.write(ac[i][j] + ' ');

实例:二维数组的转置(列变成行,行变成列)

var a = [[1,2,3],[4,5,6],[7,8,9],[0,0,0]];
var b = [[],[],[]];

for(var i = 0;i < a[0].length;i ++)
{
    for(var j = 0;j < a.length;j ++)
    {
        b[i][j] = a[j][i];
    }
}

for(i in a)
{
    for(j in a[i]) document.write(a[i][j] + ' ');
    document.write("<br>");
}
            
document.write("<br>");

for(i in b)
{
    for(j in b[i]) document.write(b[i][j] + ' ');
    document.write("<br>");
}


二、(自定义)函数

函数的定义不分先后,定义在调用之下(先用再定义)也可。

最简单的:

    function fun()
    {
        var x = 5;
        return x + 22;
    }

返回两数中的最大值: 

function maxNum(a,b)
{
    a = parseInt(a);
    b = parseInt(b);
    return a>b ? a : b;
}

当输入不确定数量的内容时,可使用arguments读取。

function transferParam()
{
    console.log(arguments.length);
    console.log(arguments);
}
function sum()
{
    len = arguments.length;
    res = 0;

    for(var i = 0;i < len;i ++)
    {
        res += arguments[i];
    }

    return res; 
}
document.write(sum(6,6,6,6));
document.write(sum(1,2,3));
document.write(sum(6,6,6,6,6,6,6,6,6,6,6,6));


 

函数嵌套


在JavaScript中,一个函数可在函数内部声明。


回调函数


一个函数A作为参数传递给另一个函数B,在B内调用A。我们称A是回调函数。

箭头函数


写法简单,适用于较简单的函数的书写,如:

var fun = (x,y,z) => {return x + y + z};
document.writeln(fun(12,13,25));
var fun1 = (x,y,z) => x+y+z;
document.writeln(fun1(12,13,25));
var fun2 = x => x+2;
document.writeln(fun2(4));

匿名函数


有时,为了避免函数名冲突等问题,会使用匿名函数

<script>
    // 函数表达式中省略函数名
    var sum = function(num1,num2)
    {
        return num1 + num2;
    }

    // 自调用方式
    var a = (function(num1,num2)
    {
        return num1 + num2;
    })(12,13);
    document.write(a);

    // 处理事件
    // 使用这行代码,html的body中的所有点击都会导致弹出一个警示框
    document.body.onclick = function(){alert('哇!谁让你点的?/气呼呼');};

    </script>

<br><input type="button" value="nihao">


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值