javascript - 函数中何时允许使用速记?
问题描述
我一直在这个网站上看到很好的帮助示例,并且一直对以下示例感到好奇。我在这个网站上搜索了速记示例,但找不到对以下类型语法的确切解释。
我已将此代码粘贴到我的网站中,它完全符合我的要求,但是当编码人员使用快捷方式时,它永远不会停止点击我,因为我不知道快捷方式。
该函数的实际功能并不相关,但为了清楚起见,我想做的只是使用 javascript 搜索当前 URL 以查找特定 GET 变量的存在,然后对其内容或不存在做出反应。
请不要尝试用更优雅的函数来求解这个方程。我目前正在确切地询问 BELOW 函数是如何根据其特定语法实际解决我的问题的。我永远不明白,除非完整版本完全没有捷径或速记。
下面的功能是什么,它使用简写和捷径(我从这个网站粘贴并工作的那个)实际上是长手说的?
function findGetParameter(parameterName) {
var result = "nope",
tmp = [];
location.search
.substr(1)
.split("&")
.forEach(function (item) {
tmp = item.split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
});
return result;
}
当我试图重写它以便我能理解时,我当然打破了它。我认为开头的逗号是关键,因为我重写的内容如下所示,但不起作用。
function findGetParameter(parameterName) {
var result = "nope";
tmp = [];
location.search.substr(1).split("&").forEach(function (item) {
tmp = item.split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
});
return result;
}
当变量“结果”更改为由实际函数计算的值时,我感到很困惑。逗号是否在我损坏的重写上方粘贴方式的第一行中执行此操作?
我经常尝试重写从该站点粘贴的代码,但它总是会破坏它!哈哈。所以我有时并没有真正了解我是如何解决它的,而是我知道我可以从 StackOverflow 复制和粘贴并解决它。哈哈哈。为你们所有人感谢主!
看起来我在上面做这个例子的方式要长得多,这可能是编码人员避免这样做的原因,但我无法理解允许上面例子的语法。
我的直觉告诉我做类似下面的事情?
function findGetParameter(parameterName) {
var result = "nope";
var tmp = new Array();
tmp = [];
var location_search = "";
location_search = location.search.substr(1);
var location_search_split = "";
location_search_split = location_search.split("&");
forEach( /* SUPER LOST HERE! hahahah */ function (item) {
/* I assume this a short cut to do something like PHP version of */
/* foreach( location_search_split as $key=>$value ) ???? */
tmp = item.split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
result = ????? // WHEN does the function set the value of the RESULT variable?
});
return result;
}
我喜欢这个网站,多年来我从中得到了很多。我是一个非常业余的程序员,每年使用这个网站数百万次。你们都很棒,我喜欢通读以找到这些东西,因为我知道你们中的一个人总会解决它!
但我真的是一个业余爱好者,只是厌倦了看不到更好的速记!
感谢您提前耐心等待您的回答并没有取笑我。如果你看到我多年来用 javascript/php/jquery 完成的一些事情,你会对我的独创性印象深刻,而不是对我的天真不感兴趣!哈哈哈。但有时我觉得我正在用 iMOVIE 1.0 制作星球大战。
解决方案
推荐阅读
- python - 在 pyvista 中保存屏幕截图,包括交互/旋转
- python - .reset_index 之后的 fillna() 用于创建 DataFrame
- scrapy - 如何从scrapy spider返回数据?
- fluid-framework - 如何在 Tinylicious 会话之间保留 Fluid 文档数据?
- azure - 如何使用策略强制执行 Azure 应用服务计划层
- asp.net-core - ABP 将控制器中的 API 路由重命名为服务
- javascript - Firebase 存储上传错误:无法读取未定义的属性“子”
- c# - 退出时如何保存 int 值
- java - 使用 lambda 表达式进行比较
- python - 由于 Numpy ufunc 签名,Numba guvectorize 异常