Другие ответы здесь правильные, но ни один из них объяснить, почему они правильны так вот небольшое объяснение.
Вот рабочая версия кода:
<html>
<head>
</head>
<body>
<p id="result"></p>
<script type="text/javascript">
function student(name,id,level,phone){
var name, id, level, phone;
this.name= name;
this.id= id;
this.level= level;
this.phone= phone;
}
function myFunction(){
var stud = new student("khaled al gamd","110_35_1353","three",0501607419);
var name= stud.name;
var id= stud.id;
var level= stud.level;
var phone= stud.phone;
return name + id + phone;
}
document.getElementById("result").innerHTML=myFunction();
</script>
</body></html>
Теперь, там было несколько проблем с вашим примером. Во-первых, вы пытались получить доступ к атрибутам объекта-ученика следующим образом: stud.(name)
, который является недопустимым синтаксисом. Правильный синтаксис для этого: stud.name
.
Во-вторых, вы объявляли элементы html внутри ваших тегов скриптов. Все внутри тегов скрипта должно быть действительным javascript, а это не так. У вас есть две альтернативы: одна из них заключается в том, чтобы переместить эту строку за пределы тегов скрипта (внутри тела, над вашим скриптом или не будет создано до тех пор, пока скрипт не будет запущен), а другой - создать элементы с javascript, как в ответ от @Emil S. Jørgensen.
В-третьих, вы пытались установить внутренний html элемента на результат функции, но функция ничего не возвращала для отображения. Скорее, он попытался написать прямо в документ. Это даст вам некоторый результат, но он не будет внутри элемента, к которому вы стремитесь. Вместо этого вам нужно вернуть верный html из функции (хотя это необязательно должно содержать какие-либо элементы html).
Исправить эти проблемы, и он должен работать должным образом. Тем не менее, одна сторона отмечает, что ваш код плохо отформатирован, что затрудняет чтение и затрудняет выявление проблем. Я бы посоветовал вам позаботиться о форматировании кода в будущем.
Ваша функция ничего не возвращает, ее непосредственно записывают в документ, что является плохой практикой. Не говоря уже обо всех других проблемах с вашим кодом. Например, в вашем конструкторе 'student' ваша строка' var' переписывает ваши переданные аргументы –
Ваш синтаксис полон ошибок, вы уверены, что он компилирует и не бросает никаких ошибок? – A1rPun
Извините, я слишком глуп здесь, что означает 'stud. (Name)'? –