JS基础---arguments伪数组,函数

1,在其他编程语言中我们经常会向函数中传递参数例如

public void add(int a, int b){
return a+b;
}

当然在js中我们也是通过这样来传递参数

        function f2(m,n) {
            return m+n;
        }

但是提醒值得注意的一点是在Javascript中存在一个伪数组

例如下面的代码: 下面这个例子告诉我们,在js中形参在某些情况下是可以省略的, 另外说一点,在js中数组可以保存不同类型的数据

        /**
         * arguments伪数组
         */
        function f1() {
            let len = arguments.length;
            for (let i=0; i< len ;i++){
                console.log(arguments[i])
            }
        }
        f1(10, 20, 30,'a');

1,函数相关知识点

一般的函数我这里就不多介绍了,只要是程序员都知道

函数表达式

let f4 = function (){
  console.log("这是一个函数");
};

这里相当是讲一个匿名函数赋值给f4 也就是函数表达式,函数表达式后面要添加分号

函数也是一种数据类型

function f1()
{
console.log("function is it");
}
console.log(typeof f1);
// 在控制台上我们可以打印出来函数的类型是 function

预解析

预解析是在解析代码之前 预解析会把变量,函数提前解析,所谓的预解析也就是在函数调用之前做了声明,那么变量也是一样的。提示一点在新版的js中提出了let, let和var有一部分区别, let定义的变量在区块内使用,但是var编译的是全局的。第二个例子反应的是就是两者的区别。下面这个例子最后打印出来的书未定义,var age = 30 会被提前申明,函数也会在调用之前提前申明。

    age = 20;
    f();
    function f() {
        console.log(age);
        var age = 30;
    }
//let和var的区别
function f(){
    for(var i = 0;i<100;i++)
    {
        console.log(i);
    }
    //如果是var定义的在这里也可以访问
    console.log(i)
    //如果是let定义的i那么这里是不能访问的
}

猜你喜欢

转载自blog.csdn.net/jeekmary/article/details/80947185