关于函数表达式的形参问题

来源:

杨洋1989

2016-06-10

var H5Component = function(cfg){ 

    var cfg = cfg || {};

}

以上写法中cfg是一个形参,为何在函数体内又要对cfg进行var声明?直接赋值不可以吗?

写回答

1回答

Lyn

2016-06-13

可以的,函数内部 var 只是一个习惯,可以避免万一忘记写 参数名了,或者参数名写错了,不小心引用了外部变量。


参考如下两段代码

代码一:

var cfg = 'test';
var H5Component = function(){ 
    cfg = cfg || {};
    console.log(cfg);
}
H5Component(123); // cfg == 'test'

代码二:

var cfg = 'test';
var H5Component = function(){ 
    var cfg = cfg || {};
    console.log(cfg);
}
H5Component(123); // cfg == {}


0
1
杨洋1989
非常感谢!
2016-06-13
共1条回复

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程