拿返回值调用,函数实参可以用一个变量表示么
下面这样写为什么不对
第二个肯定不行了。变量a是方法num中的局部变量。
num(a)中的变量a都没定义,怎么能使用?
可以直接用tmp 接收方法返回值。
var tmp=num([1,2,3,4,5,6])
var tmp=num(a)
你这个出错时出错在这个a上,因为你这个a没有定义,会报错的
你要是这样就可以了
var a=[1,2,3,4,5,6]
var tmp=num(a)
A的作用域只在num函数,出了num函数就没有啦
function num(a) 中的a是参数,var tmp=num(a)中的a应该是一个变量需要先声明再使用
函数的参数作用域可以了解一下,函数的入参,函数体外是访问不到的,除非把它定义为全局的变量。
作用域问题, 函数外面没有定义变量a,所有不能用,a只能在num函数里面定义了
第二个出错,因为函数中的a作用域不是全局的,变量的作用域问题:
如果你先定义声明a,再传参,这样是没问题的
var a=[1,2,3,4,5,6]
var tmp=num(a)
传进去的是实参,接收的是形参。
实参全局有效,形参在函数内有效,且状态不会保留。
a是num函数的形参,局部变量,只能在函数内部使用,
或者把a定义成全局变量.
var a=[1,2,3,4,5,6]
var tmp=num(a)
确实是不对
变量a是方法num中的局部变量
a是函数中的局部变量,该函数以外无法访问