如果变量不是't已传递给函数.这是正确的方式吗
Initializing a variable if it wasn't already passed to the function. Is this the right way?
我在遇到的几个脚本中看到了这种约定。如果没有传递给函数,它应该初始化一个空的选项对象:
module.exports = function (opts) {
// Create empty options if none are passed
opts = opts || {};
};
但在阅读本文时,我想知道,这不会创建一个全局opts
变量吗?在它前面加上var
不是更好吗?或者commonjs模块样式会阻止这种情况吗?
变量opts
在函数签名中声明为参数。因此,它的作用域是函数。将变量声明为参数的效果与var ..
基本相同(另外,它是一个参数)。您只是在为该变量重新分配一个新值。
它不会创建全局变量,因为它已经在函数的作用域中,因为它是函数的参数。
var test = function (opts) {
// Create empty options if none are passed
opts = opts || {};
};
test({ "test" : true });
alert(typeof opts); // opts is undefined
相关文章:
- 如果变量不是't已传递给函数.这是正确的方式吗
- 我能把这个函数一分为二吗
- 在jquery中,将文本框值分配给标签是正确的编码方式吗
- 这是显示javascript函数返回值的最佳方式吗
- 我可以访问用户脚本中的匿名函数变量吗?
- JavaScript 对象,使用两种不同的调用函数方式查看预期结果
- 这真的是从事件回调中获取 Rx.Observable 的最佳方式吗?
- 我应该使用构造函数/原型吗?
- 在 JavaScript 中循环函数可以吗?
- 这是发送请求的真实方式吗
- 在现代浏览器中,有这样的自制地图和过滤功能的快捷方式吗
- JavaScript:我能以某种方式强类型函数参数吗
- 这是为了我的目的而结束的正确方式吗
- 我可以合并JQuery中的函数调用吗
- 除了Promises之外,还有什么模式可以编排函数调用吗
- C#代码:这就是ASP.NET AJAX脚本的工作方式吗
- 这是JavaScript/jQuery回调的正确方式吗
- 为什么不'我的jQuery加载函数工作吗?-在Chrome上
- 这是在单击按钮时将表格行更改为表单的最佳方式吗
- 有什么方法可以追溯javascript函数调用吗