请问一个javascript函数的问题,谢谢
varf1=function(v){returnv;};这里变量f1指向后面的这个函数我懂得,可以f1(3)这种方式来调用这个函数,可是如果这样写varf1=functi...
var f1 = function (v) {
return v;
};
这里变量f1指向后面的这个函数我懂得,可以f1(3)这种方式来调用这个函数,
可是如果这样写var f1 = function f2 (v) {
return v;
};,这种写法又算什么呢,这里的f2是做什么的,和第一种写法有什么区别啊,因为第二种写法中不能调用f2(3)这种方式,会报错的 展开
return v;
};
这里变量f1指向后面的这个函数我懂得,可以f1(3)这种方式来调用这个函数,
可是如果这样写var f1 = function f2 (v) {
return v;
};,这种写法又算什么呢,这里的f2是做什么的,和第一种写法有什么区别啊,因为第二种写法中不能调用f2(3)这种方式,会报错的 展开
展开全部
这个涉及到js的对代码的解释原理。
在js中:
function a(){}
这样定义的函数 实际在运行过程中解释成了
var a = function(){}
也就是说对于定义的函数名变成了一个变量引用。
接着你的问题来了。
当然js解释器 解释代码
var f1 = function f2(){}
时,发现 function f2的引用已经创建(f1), 那么就不会生成
var f2 = function()P{
而是直接 忽略掉了f2这个函数名,即成了。
var f1 = function(){}
也就是说你的两种写法在js引擎来看,都是一样的。
都等于
var f1 = function(){}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询