无法读取 null 的属性(读取 'split')。迅速的

Cannot read properties of null (reading 'split'). prompt

下午好,

拜托,你能帮我解决下面的问题吗? 尝试在提示中单击“取消”时出现错误“无法读取 null 的属性(读取 'split')”。

我想要什么,当我在提示中取消它时循环取消。

ps.: 这是一个带有 name/surname 的简单数组,将来会通过 console.log

显示
function UserList () {
    let users = [];
    while(true) {
        users.push (prompt('Please, enter your name surname?').split(' '));
        if (prompt=== null) {
            alert('cancel');
        }
    }
}
let userList = new UserList();

您需要先测试 prompt() 的结果是否为 null ,然后再 尝试拆分它。

用户取消时需要跳出循环,否则函数永远不会return.

此外,由于您将其用作对象构造函数,因此 users 应该是 属性 this.users.

function UserList () {
    this.users = [];
    while(true) {
        let response = prompt('Please, enter your name surname?');
        if (response == null) {
            alert('cancel');
            break;
        }
        this.users.push (response.split(' '));
    }
}