2016-02-19 6 views
0

Я написал пример на Javascript functionfiddle, но нет выхода, как я могу решить эту ошибку.Почему нет вывода

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <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); 
     document.write (name); 
     document.write (id); 
     document.write (phone); 
    } 
    <p id="result"><\/p> 
    document.getElementById("result").innerHTML=myFunction(); 
    </script> 
</body> 
</html> 
+0

Ваша функция ничего не возвращает, ее непосредственно записывают в документ, что является плохой практикой. Не говоря уже обо всех других проблемах с вашим кодом. Например, в вашем конструкторе 'student' ваша строка' var' переписывает ваши переданные аргументы –

+0

Ваш синтаксис полон ошибок, вы уверены, что он компилирует и не бросает никаких ошибок? – A1rPun

+0

Извините, я слишком глуп здесь, что означает 'stud. (Name)'? –

ответ

2

Вы должны написать, что пункт тег, если вы хотите создать его с помощью JavaScript:

function student(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 + "<br>" + id + "<br>" + phone; 
} 
document.write('<p id="result"> </p>'); 
document.getElementById("result").innerHTML = myFunction(); 

Для получения справки по JavaScript, вы можете попробовать JSHint:

http://jshint.com/

0

Ваш JavaScript вместе с html.

Попробуйте это:

<html> 
<head> 
</head> 
<body> 
<p id="result"> 

<script type="text/javascript"> 
function student(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; 
document.write(name); 
document.write(id); 
document.write(phone);} 

myFunction(); 
</script> 
</p> 
</body></html> 
0

Другие ответы здесь правильные, но ни один из них объяснить, почему они правильны так вот небольшое объяснение.

Вот рабочая версия кода:

<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).

Исправить эти проблемы, и он должен работать должным образом. Тем не менее, одна сторона отмечает, что ваш код плохо отформатирован, что затрудняет чтение и затрудняет выявление проблем. Я бы посоветовал вам позаботиться о форматировании кода в будущем.

Смежные вопросы