JavaScrip:Function函数编程

 

自定义函数定义

1.函数通过function关键字创建,函数创建格式:

function 函数名称([参数,...]){
    代码段;
    return 返回值;
}

注意事项:

  • 函数名称不要包含特殊字符
  • 函数名称最好含义明确
  • 函数名称最好遵循驼峰标记法或者下划线法
  • 函数名称严格区分大小写
  • 函数名称如果重复会产生覆盖
  • 函数可以有参数也可以没有参数,可以有一个参数也可以有多个参数
  • 函数通过return加返回值,如果没有return 默认返回undefined
  • 函数不调用不执行

匿名函数

  • 函数表达式可以存储在变量中,变量也可以作为一个函数使用
  • 可以将匿名函数作为参数传递给其它函数,接收方函数就可以通过所传递进来的函数完成某些功能
  • 可以通过匿名函数来执行某些一次性的任务

通过Function()构造函数

通过内置JavaScrip函数构造器(Function)定义:

  • var myFunction=new Function('a','b','return a+b');
  • var myFunction=function(a,b){return a+b;};

注意:

  1. 以上两种方式是等价的
  2. 尽量避免使用new关键字

调用函数

  1. 作为一个函数调用:
    1. 通过函数名称()进行调用,如果有参数传递相应参数即可
    2. 在HTML中默认的全局对象是HTML页面本身,所以函数是属于HTML页面。在浏览器中的页面对象是浏览器窗口(window对象).所以函数会自动变为window对象的函数。也可以通过window.函数名称()进行调用
  2. 全局对象
    1. 当函数没有被自身的对象调用时,this的值就会变成全局对象。在web浏览器中全局对象是浏览器窗口window对。
    2. 函数作为全局对象调用,会使this的值称为全局对象。使用window对象作为一个变量容易造成程序崩溃
  3. 函数作为方法调用
    1. 可以将函数定义为对象的方法进行调用
  4. 使用构造函数调用函数
    1. 如果在函数调用前使用了new关键字,则调用了构造函数
  5. 作为回调函数调用函数
    1. call()
    2. apply()

参数

  • 函数可以有参数也可以没有参数,如果定义了参数,在调用函数的时候没有传值,某人设置为undefined
  • 在调用函数时候如果传递参数超过了定义时参数,js会忽略掉多余参数
  • js中不能直接写默认值,可以通过arguments对象来实现默认值效果
  • 可以通过arguments对象实现可变参数的函数
  • 通过值换地参数在函数体内对变量做修改不会影响变量本身
  • 通过对象传递参数在函数体内对变量做更改会影响变量本身

变量的作用域

  • 局部变量  
    • 在函数体内声明的变量,仅在函数体内可以用  
  • 全局变量
    • 函数体外生命的变量,在变量声明开始到脚本结束都可以使用  
  • 注意
    • 尽量控制全局变量的数量,容易引发bug
    • 最高使用var语句来声明变量        

 javascrip全局函数

待续。。

特殊形式的函数

  • 函数也是数据
    • javascrip中的函数也是一种数据类型,只不过这种类型只有两个重要的特性  
      • 他们所包含的是代码
      • 他们是可执行的
posted @ 2017-09-25 20:34  Richie`  阅读(249)  评论(0编辑  收藏  举报