JavaScript调用传递变量参数的相关问题及解决办法

 更新时间:2015年11月01日 14:09:27   投稿:mrr  
本文给大家介绍javascript调用传递变量参数的相关问题及解决办法,涉及到js调用传递参数相关知识,对js调用传递参数感兴趣的朋友一起学习吧

举例

有一个js方法,接收参数:

复制代码 代码如下:

function f1(myValue){ alert(myValue); }

有一个变量:

复制代码 代码如下:

var passValue="Hello World";

在调用这个方法的时候(我是出现在Ajax提交的时候):

@Ajax.ActionLink("文本","控制器",new{参数},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })

这里注意最后的OnSuccess,如果直接把变量丢进去,会把变量认为是一个字符串

如果改成OnSuccess="f1("+PassValue+")"也不行

搜了一下是需要转义字符

OnSuccess="f1('"+PassValue+"')"

这样就没问题了

不过上面调用Ajax的时候没注意,这里只是为了给异步调用方法f1()传参数

所以就不用@Ajax了 改成普通A标签就可以了 不然会调用两次控制器

ps:js将方法作为参数调用

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>js调用</title>  
  <script src="cssjs/jquery.js" type="text/javascript"></script>
  <script type="text/javascript">
    $().ready(function () {
      $.dialog = function (settings) {
        if ($.isFunction(settings.okCallback)) {
          if (settings.height == null) {
            if (settings.okCallback.apply() != false) {
              alert("1");
            }
          } else {
            
            if (settings.okCallback.call(this, settings.height) != false) {
              alert("2");
            }
            
            /*
            if (settings.okCallback.apply(this, arguments) != false) {
              alert("2");
            }
            */
          }
        }
      }
    });    
  </script>
  <script type="text/javascript">
    $(function () {
      $.dialog({
        okCallback: print,
        height: {data:"你好"}
      });
    });
  function print(ee1) {
    alert("print(ee1)");
    
    alert(ee1.data);
    
    /*
    alert(ee1.height.data);
    */
  /*
  function print(a, b, c, d) {
  alert(a + b + c + d);
  }
  function example(a, b, c, d) {
  //用call方式借用print,参数显式打散传递
  print.call(this, a, b, c, d);
  //用apply方式借用print, 参数作为一个数组传递,
  //这里直接用JavaScript方法内本身有的arguments数组
  print.apply(this, arguments);
  //或者封装成数组
  print.apply(this, [a, b, c, d]);
  }
  //下面将显示"背光脚本"
  example("背", "光", "脚", "本"); 
  */
  </script>
</head>
<body> 
</body>
</html>

相关文章

  • JS中利用swiper实现3d翻转幻灯片实例代码

    JS中利用swiper实现3d翻转幻灯片实例代码

    大家都知道Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。下面这篇文章主要给大家介绍了在JS中利用swiper实现3d翻转幻灯片的相关资料,文中给出了完整的示例代码供大家参考学习,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 如何阻止小程序遮罩层下方图层滚动

    如何阻止小程序遮罩层下方图层滚动

    这篇文章主要介绍了如何阻止小程序遮罩层下方图层滚动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Openlayers实现点闪烁扩散效果

    Openlayers实现点闪烁扩散效果

    这篇文章主要为大家详细介绍了Openlayers实现点闪烁扩散效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 原生js实现简易计算器

    原生js实现简易计算器

    这篇文章主要为大家详细介绍了原生js实现简易计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • js实现开关灯效果

    js实现开关灯效果

    这篇文章主要为大家详细介绍了js实现开关灯效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • IE与firefox下Dhtml的一些区别小结

    IE与firefox下Dhtml的一些区别小结

    IE与Mozilla下Dhtml的一些区别小结
    2009-12-12
  • 小程序使用wxs解决wxml保留2位小数问题

    小程序使用wxs解决wxml保留2位小数问题

    这篇文章主要介绍了小程序使用wxs解决wxml保留2位小数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 微信小程序实现滑动操作代码

    微信小程序实现滑动操作代码

    这篇文章主要介绍了微信小程序实现滑动操作代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Electron去掉窗口边框并添加关闭按钮的实现步骤

    Electron去掉窗口边框并添加关闭按钮的实现步骤

    在 Electron 中,如果你想去掉默认的窗口边框(frame)并添加额外的按键,可以通过相关步骤实现,下面小编给大家带来了Electron去掉窗口边框并添加关闭按钮的实现步骤,感兴趣的朋友一起看看吧
    2024-06-06
  • 微信小程序  TLS 版本必须大于等于1.2问题解决

    微信小程序 TLS 版本必须大于等于1.2问题解决

    这篇文章主要介绍了微信小程序 TLS 版本必须大于等于1.2问题解决的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论