JS有一个不起眼但很重要的特性,即它不支持函数外部的块级作用域。
函数中变量的作用域:
变量的作用域指程序中变量可见的位置,即程序中变量可以被使用的位置。在函数之外声明的变量作用域是全局的,意思是可以在程序的任意位置使用或者改变它们。
在函数内部声明的变量也是全局的,除非在声明时使用了var关键字。var关键字使得变量的作用域成为局部的,即变量仅可以在定义它的函数内使用且一旦函数结束将不再可见。
返回值:
函数使用return语句返回值。关键字return是可选的且只能用于函数内。在函数内,当执行到return关键字时,函数退出。return可用于返回某些任务的处理结果,比如一项计算,
或者某些条件满足时及早退出函数。如果函数没有return语句,则返回undefined值。
function mileage(miles,gas){ return miles/gas; }var rate=mileage(distance,amount);
匿名函数变量:
函数定义可以被赋值给一个变量。除两点外,该变量和其他变量相同。首先,它的值是函数定义;其次,该变量被用作函数的引用。()是Javascript运算符,表示函数被调用。
var greetings=function(){ //匿名函数没有名字 message="Greetings to you!"; return message;} text=greeting(); //函数调用