Javascript 将值更改为其他值,并使用“!”&引用;操作人员
根据我头脑中的逻辑: 如果我触摸电子邮件的不透明性,那么globlas.Email应该从false变为true,但事实上它什么都不做 因为我认为当'this.getMedia(item.MediaNow)'=true时 那就不要是"!!(!this.getMedia(item.MediaNow))'=false 有人能解释一下为什么吗? 或者告诉我如何让我的代码按照我的意愿工作Javascript 将值更改为其他值,并使用“!”&引用;操作人员,javascript,react-native,Javascript,React Native,根据我头脑中的逻辑: 如果我触摸电子邮件的不透明性,那么globlas.Email应该从false变为true,但事实上它什么都不做 因为我认为当'this.getMedia(item.MediaNow)'=true时 那就不要是"!!(!this.getMedia(item.MediaNow))'=false 有人能解释一下为什么吗? 或者告诉我如何让我的代码按照我的意愿工作 getMedia = Media => { switch (Media) { case "Call":
getMedia = Media => {
switch (Media) {
case "Call":
return global.Call;
case "Email":
return global.Email;
setMedia = (Media, value) => {
switch (Media) {
case "Call":
global.Call = value;
this.setState({});
case "Email":
global.Email= value;
this.setState({});
{...}
<TouchableOpacity
onPress={() => {
this.setMedia(!this.getMedia(item.MediaNow));
// MediaNow is either "Call" or "Email". so my expectet result of
// (!this.getMedia(item.MediaNow)) would be: true/false
}}
>
提前非常感谢看看你的方法:
setMedia = (Media, value) => {
现在看看你是怎么称呼它的
this.setMedia(!this.getMedia(item.MediaNow));
方法需要两个参数,而您正在传递一个参数
this.setMedia(item.MediaNow, !this.getMedia(item.MediaNow));
看看你的方法:
setMedia = (Media, value) => {
现在看看你是怎么称呼它的
this.setMedia(!this.getMedia(item.MediaNow));
方法需要两个参数,而您正在传递一个参数
this.setMedia(item.MediaNow, !this.getMedia(item.MediaNow));
据我所见,您正在返回一个在全局对象中定义的值 当使用时!运算符,JavaScript将尝试将该值转换为布尔值,然后应用否定 就你而言
!this.getMedia(item.MediaNow)
将被解析为…给我this.getMedia(item.MediaNow)的值,并将其转换为bool
JS将检查值是falsy(未定义、零、假等)还是true(对象、非空字符串等)
就你而言。。。
!
(something true)==false
据我所见,您正在返回一个在全局对象内定义的值
当使用时!运算符,JavaScript将尝试将该值转换为布尔值,然后应用否定
就你而言
!this.getMedia(item.MediaNow)
将被解析为…给我this.getMedia(item.MediaNow)的值,并将其转换为bool
JS将检查值是falsy(未定义、零、假等)还是true(对象、非空字符串等)
就你而言。。。
!
(something true)==false
setMedia需要两个参数,您传入一个….setMedia需要两个参数,您传入一个。。。。