• 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已经加载完毕。
        

  • 相关阅读:
    【软件测试】LoadRunner与JMeter工具安装教程
    mysql 日期函数
    xss总结
    HTML5+css3课后习题【一】
    FiberNode结构解析
    汇编实现缓冲区溢出1
    基础算法汇总
    爬虫入门到精通_实战篇12(使用Redis+Flask维护动态Cookies池)
    若依框架下首次写接口
    14:00面试,14:05就出来了,问的问题有点变态。。。
  • 原文地址:https://blog.csdn.net/bingocoder/article/details/125605672