【问题标题】:Javascript: Override global varsJavascript:覆盖全局变量
【发布时间】:2015-03-13 02:35:25
【问题描述】:

我设置了全局变量“cost_ifCMS = 0” 现在我有一个函数应该向这个变量添加金额,然后函数可以打印这个。

我只发布了几行 javascript,因为我确定存在错误,并且我敢打赌,我的错误是给你们好帮手一个简单易懂的问题 :)

        cost_ifCMS = 0;


    $('input[name="ifCMS"]').change(function(){
         var grabVal_ifCMS = $(this).val();
            if(grabVal_ifCMS == "ifCMSyes"){
                $("#ifCMSyes").show();
                $("#ifCMSno").hide();
                cost_ifCMS = + 100;
            }else{
                $("#ifCMSyes").hide();
                $("#ifCMSno").show();
                $("#chooseLAYOUTcontao").hide();
                $("#chooseLAYOUTjoomla").hide();
                $("#chooseLAYOUTwordpress").hide();
                cost_ifCMS = + 0;
            }

    });

var summe = cost_ifCMS 


    $('#summehtml').html(summe)

【问题讨论】:

  • 如果您尝试将变量增加 100,请使用 cost_ifCMS += 100
  • cost_ifCMS = + 100; 的意思是 “将成本设置为 +100”。您可能想要cost_ifCMS += 100;,它是“成本加100”
  • 那么,会发生什么?问题是什么?
  • 另一方面,cost_ifCMS += 0; 似乎毫无意义,也许您确实想将成本设置为 +100。
  • 必须改进我的问题:我看起来如此覆盖或设置 var。而不是 0 它应该是 100。但我会说谢谢你学习运算符 += :) 但现在问题是,它有效,所以我留在函数中。在功能之外,现在没有机会。有什么想法吗?当我将 console.log(cost_ifCMS) 放在函数的结束标记之前,它可以工作。但我需要它在外面,因为最后会有一些功能会聚集在一起。

标签: javascript jquery global-variables var


【解决方案1】:

你必须做cost_ifCMS = cost_ifCMS + 100;cost_ifCMS += 100;。 该变量将存储新值,该值是 100 添加到自身的结果。 执行cost_ifCMS = + 100; 将分配正值100。这与cost_ifCMS = -100; 正好相反

【讨论】:

  • 非常感谢您的回答。它适用于您的代码,但仅适用于函数。但最后我需要函数之外的新值。你有什么想法吗?
  • 之前用var初始化变量。它应该可以工作,它不在更改的方法范围内,所以它应该正确更改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-20
相关资源
最近更新 更多