Я пробовал ваше решение и, похоже, прекрасно работает в переполнении стека «среда запуска кода». Возможно, мне придется сравнить его с моим исходным кодом.передать аргумент в функцию без добавления ее к вызову функции
$.getJSON("https://teamtreehouse.com/chalkers.json", function(result){
var buildHtml = "";
function buildLi(language){
buildHtml += "<li>" + "<h4> language </h4> | <span>" + result.points[language] + "</span></li>";
}
buildHtml += "<ul>";
buildLi("HTML");
buildLi("CSS");
buildLi("JavaScript");
buildLi("PHP");
buildHtml += "</ul>";
$(".skill-ul-container").append(buildHtml);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>The Score</h1>
<div class="skill-ul-container"></div>
я в настоящее время ищет решение передать аргумент в функцию фактически не добавляя его в вызов функции. В этом сценарии мне захотелось создать простой список <ul>
с <li>
элементами, которые получают их содержимое из json-файла. Как вы можете видеть, я неоднократно включал result
и buildHtml
в вызов функции. Но я думаю, мне не нужно это делать, правильно? Есть ли способ включить их в вызов функции по умолчанию? (Потому что они не изменяются при вызове функции)
$.getJSON("that/nice/json/file/that/stores/my/score.json", function(result){
var buildHtml = "";
function buildLi(language, result, buildHtml){
buildHtml += "<li>" + "<h4> language </h4> | <span>" + result.points[language] + "</span></li>"; //builds <li> that contains the programming language title and a number that is stored in result.points[language]
return(buildHtml);
}
buildHtml += "<ul>";
buildHtml = buildLi("HTML", result, buildHtml); //i want to get rid of "result and buildHtml" because these values are not supposed to be changed during the function call.
buildHtml = buildLi("CSS", result, buildHtml);
buildHtml = buildLi("JavaScript", result, buildHtml);
buildHtml = buildLi("PHP", result, buildHtml);
buildHtml += "</ul>";
$(".skill-ul-container").append(buildHtml);
});
Я бы благодарностью за любые советы, решения или намеков об этой проблеме.
Спасибо за быстрый ответ. Я на самом деле пробовал это, но я всегда получаю «результат - неопределенная ошибка» – Landocal