• JavaScript函数七重关之函数定义


    JavaScript函数七重关的第一关是函数定义

        函数定义需要用到function关键字。

    function myFunction() {
    	//函数体
    	document.write("hello,javascrept!<br>");
    }
    
    • 1
    • 2
    • 3
    • 4

        这是函数定义的第一种方法,也可以用下面的方法:

    var a = function() {
    	document.write("hello,hello,javascrept!<br>");
    }
    
    • 1
    • 2
    • 3

        与第一种方式不同的是,第二种函数定义方式需要先定义一个变量。“var a” ,然后用function关键字定义一个函数。将函数赋值给变量。这种方式定义函数的时候不需要再加函数名,函数名就是预先定义的变量名。调用函数时:

    a();
    
    • 1

        下面探究一下两种函数定义方式的另外一个区别。

    a();
    
    var a = function() {
    	document.write("hello,hello,javascrept!<br>");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

        用第二种方式定义的a函数是否能成功调用呢?执行结果如下:

    js1-1
        下面再看下第一种

    myFunction();
    function myFunction() {
    	document.write("hello,javascrept!<br>");
    }
    
    • 1
    • 2
    • 3
    • 4

    js2
        第一种方式定义的函数在函数定义语句前被调用时,没有报错成功调用。导致这种结果的原因是,如果是用第一种方法定义函数,它会被提前加载,因此调用语句可以写在函数定义之前。第二种方式定义的函数是不会被提前加载的,必须要执行到函数定义的语句才会加载这个函数,所以第二种方式定义的函数会报错。
        再看一个例子:

    console.log(a);
    var a = function(){
    	alert("函数被调用了!");
    }
    console.log(a);
    
    • 1
    • 2
    • 3
    • 4
    • 5

        第一个a打印出来的结果是undefined,第二个a打印出来的就是具体的函数。说明这个函数a已经加载完毕。
        

  • 相关阅读:
    球谐函数实现环境光照漫反射实践
    【Rust基础③】方法method、泛型与特征
    专业网站建设流程及方式是什么
    记录关于Ajax二次加载出的内容无法再次实现Ajax点击效果问题
    1020. 飞地的数量
    hackthebox zipping
    云计算(Cloud Computing)
    [毕业设计]基于机器视觉的车辆速度检测与识别算法
    【Flink实战】玩转Flink里面核心的Sink Operator实战
    应用 Serverless 化,让业务开发心无旁骛
  • 原文地址:https://blog.csdn.net/bingocoder/article/details/125605672