Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给我解释一下这段JavaScript代码_Javascript - Fatal编程技术网

给我解释一下这段JavaScript代码

给我解释一下这段JavaScript代码,javascript,Javascript,谁能给我解释一下这个代码片段吗 <script type="text/javascript"> function querySt(ji) { hu = window.location.search.substring(1); gy = hu.split("&"); for (i = 0; i < gy.length; i++) { ft = gy[i].split("="); if (f

谁能给我解释一下这个代码片段吗

<script type="text/javascript">


  function querySt(ji) {
      hu = window.location.search.substring(1);
      gy = hu.split("&");
      for (i = 0; i < gy.length; i++) {
          ft = gy[i].split("=");
          if (ft[0] == ji) {
              return ft[1];
          }
      }
  }

  var koko = querySt("koko");

  document.write(koko);
  document.write("<br>");
  document.write(hu);

函数查询(ji){
hu=window.location.search.substring(1);
gy=hu.分割(“&”);
对于(i=0;i”);
文件。编写(hu);

这是一个从文档的查询字符串中提取变量的函数,例如,如果文档的位置是

example.com/test.htm?koko=123
querySt(“koko”)
将返回
123

作为旁注,函数应使用局部变量以防止污染全局名称空间:

var hu = window.location.search.substring(1);
var gy = hu.split("&");
...
for (var i = 0; i < gy.length; i++) {
var hu=window.location.search.substring(1);
var gy=hu.分割(&);
...
对于(变量i=0;i
据我所知,代码获取URL的查询字符串部分

e、 g:

查询字符串部分是?querystringparam1=somwthing&querystringparam2=somethingeles

除了问号外,胡什么都有。。
然后一个数组en由&符号分割的rest创建,然后循环遍历该数组并搜索koko,并返回koko的值。

函数正在搜索查询字符串中的指定参数,并且返回其值

想象一下这样的url

函数querySt(ji){
//获取客户端(QueryString)上的所有请求参数
//hu=?用户=2&角色=admin
var hu=window.location.search.substring(1);
//获取按拆分的子字符串数组&
//gy[0]=用户=2
//gy[1]=角色=管理员
var gy=hu.分割(&);
//遍历字符串数组
对于(i=0;i”);
文件。编写(hu);

在这种情况下,这将打印出2。
Hu
只有在函数范围之外定义时才会打印出来
querySt

如何在这里使用十进制值,它适用于整个数字,但我需要传递十进制值。@Papi这应该适用于任何值。使用十进制值时会发生什么?嗯,不确定w那里发生了什么事。你有活的例子吗?
   function querySt(ji) { 
              // Gets all request parameters at client-side (QueryString)
              // hu = ?user=2&role=admin
              var hu = window.location.search.substring(1); 
              // Gets an array of substrings splitted by &
              // gy[0] = user=2
              // gy[1] = role=admin
              var gy = hu.split("&"); 
              // Iterate through the string array
              for (i = 0; i < gy.length; i++) { 
                  // Split into key/value pair
                  // ft[0] = 'user'
                  // ft[1] = '2'
                  ft = gy[i].split("="); 
                  // See wether the key is 'koko'
                  if (ft[0] == ji) { 
                      // return '2' if so
                      return ft[1]; 
                  } 
              } 
          } 

          var user= querySt("user"); 

          document.write(user); 
          document.write("<br>"); 
          document.write(hu);