JavaScript 函数发送字符串但接收 bool 值

标签 javascript

我面临着 javascript 函数的意外行为。我将字段的 ID 作为字符串传递给函数,但它以 bool 值形式接收。请帮忙,代码如下。

功能

function page_smooth_scroll(target_id) {
    if (target_id =! null) {
        $j('html, body').animate({
            scrollTop: $j("#" + target_id).offset().top - 120
        }, 500);
    }
}

调用函数

function validatePassword(){
            var validPassword = false;
            var pwd = $j("#Password").val().trim();
            var cfmPwd = $j("#ConfirmPassword").val().trim();
            if((pwd == "") || (cfmPwd == "")){
                $j("#ConfirmPassword").addClass("invalidPwd").nextAll("ul.err-msg").html("<li>Please enter Password</li>");
              //here id is passed as string
                page_smooth_scroll("ConfirmPassword");
                validPassword = false;
            }
            else{
                $j("#ConfirmPassword").removeClass("invalidPwd").nextAll("ul.err-msg").empty();
                if(pwd != cfmPwd){
                    $j("#ConfirmPassword").addClass("invalidPwd").nextAll("ul.err-msg").html("<li>Password does not match</li>");
                  //here id is passed as string
                    page_smooth_scroll("ConfirmPassword");
                    validPassword = false;
                }
                else{
                    $j("#ConfirmPassword").removeClass("invalidPwd").nextAll("ul.err-msg").empty();
                    validPassword = true;
                }
            }
            return validPassword;
        }

调试时如下图 passing string

receiving bool

最佳答案

if (target_id =! null) {

我认为你的意思是a != b

因为a=!b的意思是a = !b,这意味着“分配相反的 bool 值”,这确实会将任何东西变成 bool 值。

下次如果您认为函数“接收 bool 值”,请确保在运行任何语句之前调试该值。我确信在进入函数时它仍然是一个字符串。

关于JavaScript 函数发送字符串但接收 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40232644/

相关文章:

javascript - 更改选择列表的选项数组

javascript - Highcharts:在单个类别中绘制多个值

javascript - Fullcalendar with spring @ResponseBody 返回带有 406 错误 :not Acceptable Header 的 Json 数组

javascript - 使 body 为浏览器窗口的 100% 高度

javascript - SuiteScript:提交前(使用用户事件脚本设置子列表值)

javascript - Node.js - 禁用浏览器的 Javascript

javascript - addEventListener 和 angularjs promise : wrap it up

javascript - Bootstrap 多选按钮宽度问题

javascript - 解释ES6类构造函数和箭头函数的作用

javascript - 使用 javascript ...cefsharp 从 Form1 (winform c#) 打开 Form2