gpt4 book ai didi

JavaScript 函数默认参数值

转载 作者:行者123 更新时间:2023-12-02 23:52:52 26 4
gpt4 key购买 nike

我正在尝试为函数参数设置默认值,这将向我的服务器查询初始值。

最终目标是我将能够单击我创建的列表项之一来检索并创建新列表。

<script type="text/javascript">
$(function getJobs(jobid=0) {
{#jobid = 0;#}
console.log("jobid: " + jobid);
let query = {id: jobid};
console.log(query);
$.getJSON("{% url 'website:get-jobs' %}", query, function (data) {
console.log("getjson");
$.each(data, function (key, value) {
console.log(key + " - " + value);
$('#jobs-list').append("<li id='" + key + "'" + "href='#'" + "onclick=getJobs(key)" + ">" + value + "</li>");
});
});

})
</script>

如果我手动将 jobid 设置为 0(在上面的代码中注释掉),一切都会正常工作。如果我尝试在函数参数列表中设置它,我会在 console.log 中看到以下内容:jobid: function(e,t){return new w.fn.init(e,t)}

最佳答案

当 jQuery 调用 $(function(x) { ... }) 的回调时,参数是 jQuery 对象本身,因此永远不需要默认值

所以,你会想要这样做

$(function() {
function getJobs(jobid = 0) {
console.log("jobid: " + jobid);
let query = {id: jobid};
console.log(query);
$.getJSON("{% url 'website:get-jobs' %}", query, function (data) {
console.log("getjson");
$.each(data, function (key, value) {
console.log(key + " - " + value);
$('#jobs-list').append("<li id='" + key + "'" + "href='#'" + "onclick=getJobs(key)" + ">" + value + "</li>");
});
});
}
getJobs();
});

或者,使用原始代码,您当然可以测试 typeof jobid 是函数的情况,并将其设置为 0相反...即

$(function getJobs(jobid) {
if (typeof jobid === 'function') {
jobid = 0;
}
console.log("jobid: " + jobid);
let query = {id: jobid};
console.log(query);
$.getJSON("{% url 'website:get-jobs' %}", query, function (data) {
console.log("getjson");
$.each(data, function (key, value) {
console.log(key + " - " + value);
$('#jobs-list').append("<li id='" + key + "'" + "href='#'" + "onclick=getJobs(key)" + ">" + value + "</li>");
});
});
});

关于JavaScript 函数默认参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55566079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com