【问题标题】:do not understand the query string parse with function and parameter不懂用函数和参数解析查询字符串
【发布时间】:2019-03-11 21:42:38
【问题描述】:

我看不懂这种sn-p的代码。有没有高手可以帮我解释一下: 我已经搜索了querystring.parse(str, [sep], [eq], [options])的解释。但是,我不明白为什么后面有一个“= function (str){}”。谢谢 代码如下:

(function () 
 {
    'use strict';
    var queryString = {};
	
    queryString.parse = function (str) //do not know why there is a function assigned here
	{
        if (typeof str !== 'string') 
		    {
            return {};
        }

        str = str.trim().replace(/^\?/, '');

        if (!str) {
            return {};
        }
  }
});

【问题讨论】:

  • 在 JS 中函数是一个成熟的对象。
  • 你有一个函数表达式(代码的最外层部分),它没有被分配任何东西或被调用。如果它被调用,那么queryString 对象将被创建,并添加parse 方法,然后整个事物将退出范围而不被使用。所以整个事情什么都不做。所以我不知道它为什么存在任何

标签: javascript node.js web web-development-server


【解决方案1】:

它只是说它是一个函数,它会在调用时运行大括号内的代码。 在这种情况下,queryString 不是节点模块,因为它不是必需的并且分配给该值(就像使用 const querystring = require('querystring') 一样),而是它只是一个空对象(如您在 var queryString = {} 中看到的)

【讨论】:

  • 你解释得很好。我现在明白了。非常感谢并感激不尽。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多