【问题标题】:toggle passed in variable boolean value in javascript function切换在javascript函数中传入变量布尔值
【发布时间】:2017-08-24 07:14:14
【问题描述】:

我想创建一个可重用的函数来更改传入变量的布尔值。

下面是我的示例,但是这不起作用,因为语句“item”的第一部分没有分配给传入的变量。

let editable = true;

     function toggleEditMode (item){
            item = !item;
        }

toggleEditMode(editable);

有什么帮助吗?

【问题讨论】:

  • 我更新了链接。阅读新的。
  • 这解决了您的问题吗?
  • 这行得通。 @cmac

标签: javascript angularjs function boolean reusability


【解决方案1】:

你必须学习js如何传递函数参数。它在这里按值传递。阅读此by value vs reference

基本上你不能像你尝试的那样通过引用传递。您可以创建一个对象,然后在函数内更改该对象的属性,它将按照您的预期工作。

var i = { a:true }

function c(o){
  o.a = !o.a
}

c(i)
console.log(i);

【讨论】:

  • @PankajParkar 我正在为他整理示例代码,只是在 iPhone 上而不是在电脑前移动速度有点慢。 ;)
  • 是的,这行得通,我认为不使用对象可能会有更清洁的解决方案,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-01
  • 2018-05-16
  • 2017-09-27
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
相关资源
最近更新 更多