Не работает код объекта

После нажатия кнопки вся страница просто заменяется на белую

function print (text) {
    document.write();
}

var Name, Age;
var y = new Date;

function userValue (name, age, dateOfBirth) {
    this.name =  name;
    this.age =  age;
    this.dateOfBirth = y.getFullYear() - age;
}

function conf() { 
    document.getElementById ('inp1').value = Name;
    document.getElementById ('inp2').value = Age;

    var user1 = new userValue (Name, Age);

    print ('Your name is ' + user1.Name);
    print ('Your age is ' + user1.Age);
    print ('You were born in' + user1.dateOfBirth);
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <input type="text" placeholder="Input your name" id="inp1">
    <input type="text" placeholder="Input your age" id="inp2">
    <button onclick="conf(this)">Ok</button>
    <script src="script.js"></script>
</body>
</html>


Ответы (1 шт):

Автор решения: Евгений

Всем потому что в функции print находится метод document.write(), который ничего не принимает. Исправьте на document.write(text) и все будет гуд. На странице все появится, но переменные которые вы передаете будут undefined и NaN

Дополняю: так как js чувствителен к регистру, данные которые вы передаете в функцию print идут как undefined. Достаточно посмотреть что находится в объекте user1, в нем все свойства с маленькой буквы, а значит вот так будет правильно:

print ('Your name is ' + user1.name);
print ('Your age is ' + user1.age);
print ('You were born in' + user1.dateOfBirth);
→ Ссылка