带有返回值的函数
有时,我们会希望函数将值返回调用它的地方。
通过使用return语句就可以实现。
在使用return语句时,函数会停止执行,并返回指定的值。
语法
function myFunction()
{
var x=5;
return x;
}
上面的函数会返回值5。
注意:整个JavaScript并不会停止执行,仅仅是函数。JavaScript将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:
varmyVar=myFunction();
myVar变量的值是5,也就是函数"myFunction()"所返回的值。
即使不把它保存为变量,您也可以使用返回值:
document.getElementById("demo").innerHTML=myFunction();
"demo"元素的innerHTML将成为5,也就是函数"myFunction()"所返回的值。
您可以使返回值基于传递到函数中的参数:
实例
计算两个数字的乘积,并返回结果:
function myFunction(a,b)
{
return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
"demo" 元素的 innerHTML 将是:
12
在您仅仅希望退出函数时,也可使用return语句。返回值是可选的:
function myFunction(a,b)
{
if (a>b)
{
return;
}
x=a+b
}
如果a大于b,则上面的代码将退出函数,并不会计算a和b的总和。
局部JavaScript变量
在JavaScript函数内部声明的变量(使用var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局JavaScript变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript变量的生存期
JavaScript变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
向未声明的JavaScript变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为window的一个属性。
这条语句:
carname="Volvo";
将声明window的一个属性carname。
非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。
varvar1=1;//不可配置全局属性
var2=2;//没有使用var声明,可配置全局属性
console.log(this.var1);//1
console.log(window.var1);//1
console.log(window.var2);//2
deletevar1;//false无法删除
console.log(var1);//1
deletevar2;
console.log(deletevar2);//true
console.log(var2);//已经删除报错变量未定义
|