【问题标题】:How to access object value properly如何正确访问对象值
【发布时间】:2021-10-23 11:23:55
【问题描述】:

我已经通过控制台日志检查了一个对象的值,如下所示:

if (isConfirm) {
   console.log(isConfirm); // first condition
}else{
   console.log(isConfirm); // second condition
}

第一个条件显示的对象是这样的:

{value: true}
value: true
[[Prototype]]: Object

第一个条件结果

第二个条件显示的对象是这样的:

{dismiss: "cancel"}
dismiss: "cancel"
[[Prototype]]: Object

第二个条件结果

所以问题是,我怎样才能在每个条件下正确访问isConfirm 对象的值?

我尝试像这样访问第一个条件值:

if (isConfirm === true) {
    console.log("RETURNS TRUE");
}

但这是错误的,因为RETURNS TRUE 不会在控制台打印出来。

那么在这种情况下访问对象值的正确方法是什么?

【问题讨论】:

  • 请不要发布有问题的图片,请粘贴实际日志。
  • @SamridhTuladhar 我刚刚添加了,请查看
  • 添加了答案

标签: javascript jquery object sweetalert


【解决方案1】:

你不能直接对对象内部的值进行操作。需要访问内部值,根据您的声明,您可以使用 isConfirm.value 而不是 isconfirm 访问该值,并在此设置 if...else 条件。

【讨论】:

    【解决方案2】:

    您在第一个条件下的 isConfirm 对象返回一个不同的对象,然后它在第二个条件下返回:

    这是你需要做的:

    if(isConfirm.value !== undefind && isConfirm.value === true ) {
      console.log("RETURNS TRUE")
    }
    

    第一个条件:isConfirm.value !== undefined 检查 value 对象是否存在于第一个条件中,因为在第二个条件中,它根本不存在

    下一个条件是检查它是否为真。

    一种优化的方式是:

    if( isConfirm.value )

    这会一次性完成上述两项检查。

    【讨论】:

      【解决方案3】:

      试试这个方法

      swal({
                    title: "Are you sure?",
                    text: "You want to delete this file!",
                    icon: "warning",
                    buttons: [
                      'No, cancel it!',
                      'Yes, I am sure!'
                    ],
                    dangerMode: true,
                  }).then(function(isConfirm) {
                    if (isConfirm) {
                      swal({
                        title: 'Deleted!',
                        text: 'Candidates are successfully Deleted!',
                        icon: 'success'
                      }).then(function() {
                        form.submit();
                      });
                    } else {
                      swal("Cancelled", "Your file is safe :)", "error");
                    }
                  });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-26
        • 2021-10-22
        • 2012-06-06
        • 2012-08-11
        • 2014-10-07
        • 2012-11-25
        • 1970-01-01
        相关资源
        最近更新 更多