【问题标题】:How to convert anonymous function to a regular one?如何将匿名函数转换为普通函数?
【发布时间】:2011-02-01 05:25:57
【问题描述】:

这里的总 JS 菜鸟。我有以下实现 jQuery 滑块的行:

<script type="text/javascript">
    $(document).ready(function () {
        $("#wheelLeft").slider({ 
                 orientation: 'vertical', value: 37, 
                 min: -100, max: 100, 
                 slide: function (event, ui) { $("#lblInfo").text("left"); } });
    });
</script>

基本上在slide 事件中,#lblInfo 将其文本设置为left。这工作正常。但是,我想将处理幻灯片事件的内联匿名函数转换为常规函数。

有人可以帮忙吗?

【问题讨论】:

  • @Ivo JS 对我来说是一个新事物(我上次使用它是在 1999 年)。我什至不确定在 JavaScript 领域中是否调用了匿名函数。
  • 它永远让我感到惊讶,人们如何假设高代表 = 对所有主题和语言的知识......

标签: javascript jquery jquery-ui anonymous-function


【解决方案1】:
<script type="text/javascript">

function handleSlide(event, ui) { 
    $("#lblInfo").text("left"); 
}

$(document).ready(function () {
    $("#wheelLeft").slider({ 
             orientation: 'vertical', value: 37, 
             min: -100, max: 100, 
             slide: handleSlide
    });
});
</script>

【讨论】:

    【解决方案2】:
    <script type="text/javascript">
        function myfunc(event, ui) {
    
        }
    
        $(document).ready(function () {
            myfunc(event, ui)
        });
    </script>
    

    会的。这显然不是一个理想的解决方案,因为它仍然使用匿名,但应该可以解决您需要手动操作函数的任何问题

    【讨论】:

      【解决方案3】:

      只需定义一个命名函数:

      function doSlide(event, ui)
      {
          $("#lblInfo").text("left");
      }
      
      $(document).ready(function() {
          $("#wheelLeft").slider({
              orientation: 'vertical', value: 37, 
              min: -100, max: 100, 
              slide: doSlide
          });
      });
      

      【讨论】:

        【解决方案4】:
        $(document).ready(function myFunction() {
            // do something
        });
        

        【讨论】:

        • 嗯,这可能不是您想要的。这实际上对于在 ES5 严格模式下模仿 arguments.callee() 很有用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-06
        • 2019-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多