js函数(1)

一、普通函数

       1.内置函数:由js语言自己提供,可以直接调用  例如:parselnt、parseFloat

       2.自定义函数:是由用户自定义的函数,在后续的程序中可以重复使用的函数。

    自定义函数的声明方法:

      (1)无参函:function fn(){ //fn是函数名,可以自己命名

                                              console.log('11111');//函数体,根据功能的自己编写

               }

             fn();//函数的调用,这里的fn,与定义时的fn名字必须一样

        注意:函数在声明的时候函数体的代码是不执行的,只有在调用函数的时候函数体的代码才是执行的。

                     (2)带参函数:

                        function fn(参数1,参数2......){

          console.log(‘132’);

          }

        fn(参数1,参数2.....);

 

      注意:1)这里的参数个数可以是0个也可以是多个,在声明的时候的参数是形参,在调用的时候的参数是实参。

                  2)当实参个数多于形参个数的时候,函数调用形参个数的实参。

          Egfunction fn(a,b,c){return a+b+c;}

 

          fn(1,1,1,2);//这里函数只会执行1+1+12将不会放入函数中执行

            3)当实参个数少于形参个数的时候,形参中多于实参个数的参数会以undefined来参与函数的运行。

 

            EgEgfunction fn(a,b,c=3){return a+b+c;}

 

                                   fn(1,1);//这里会返回NaN

      (3)带有返回值的函数:

          function fn(参数1,参数2......){

             console.log(‘1345’);//函数体

              return 值;

             }

                         fn(参数1,参数2......);

 

      注意: 1)想要得到返回值,需要定义一个变量对返回值进行接收才行

             Egvar num=fn(参数1,参数2......);//定义一个变量a接收函数的返回值

          2)函数中没有添加return,返回结果是undefined

          3)函数有return,如果return后的值为空,返回结果是undefined

          4return后的所有语句都不能被执行到,return就是函数结束。

 

二、变量作用域

  (1)全局作用域:全局作用域下的变量可以在任何位置访问到

 

  (2)局部作用域:局部作用域下的变量只能在局部(函数内部)访问到  

    注意:函数内部声明的变量没有使用var关键字,声明的变量就成为全局变量。

 

三、变量提升

    js程序在执行前,声明的变量都会加载到程序的最前边(只是提升声明),但是赋值还是在原来的位置。函数内部也存在变量的提升,函数也会被提升。

四、函数的作用域 

          1. 函数和变量相同,也分为全局作用域和局部作用域。

          2.局部(函数)作用域下声明的函数,只能在函数的内部访问。

          3.全局作用域下声明的函数,可以在任何的位置访问

          4.在程序执行前,声明的函数会提升到程序的最前边。

 

 

 

 

    

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-08-26 09:23  猴葱  阅读(229)  评论(0编辑  收藏  举报