Javascript学习笔记——8.1 函数的定义

函数使用function关键字定义,可以用在函数定义表达式(参考4.3 函数定义表达式)或函数声明语句(5.3 声明语句)里.

函数的组成:

  • function关键字
  • 函数名称标识符 类似于变量的名字,新定义的函数对象会赋值给这个变量.
  • 一对圆括号,其中包含0个或者多个用逗号分开的参数
  • 一对花括号,其中包含0条或多条Javascript语句

可以用函数声明和表达式两种方式定义函数

//函数声明
function add(x,y){  return x+y }
//函数表达式
var minus = function (x,y){return x-y }

函数定义表达式可以不赋值给变量直接调用,适合只调用一次的函数,比如
var tensquared = (function(x){return x*x}(10))

函数名称可作为函数内部的局部变量使用

function a(){console.log(typeof(a))}
a() //function

函数的声明会被提前,但两种声明方式提前的方式不一样(参看5.3声明语句).

var a = add(3,5) //正常运行
var b = minus(10,6) //报错
function add(x,y){  return x+y }
var minus = function (x,y){ return x-y }

函数命名

  • 函数名称通常选择描述性强又简洁的名称,提高代码的可读性
  • 函数名称通常是动词或以动词为前缀的词组
  • 通常函数名第一个字符为小写,这是一种编程约定
  • 包含多个单词的有两种约定,一种是用下划线将单词连接,比如like_this().另一种是除了第一个单词以外的单词都首字母大写,比如likeThis()
  • 有一些内部函数或私有函数,通常以一条下划线作为前缀

函数嵌套

函数定义可以被嵌套,即可以在一个函数的函数体内定义另一个函数.被嵌套函数可以访问上层函数的参数和变量

函数声明可以嵌套,但只可以作为顶级语句使用,即它必须在全局代码或者其他函数体内定义,不能在循环,判断,try/catch/finally及with语句中定义.但函数定义表达式不受此限制

你可能感兴趣的:(Javascript学习笔记——8.1 函数的定义)