Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS中创建助手函数?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在JS中创建助手函数?

Javascript 如何在JS中创建助手函数?,javascript,jquery,Javascript,Jquery,我正在努力在JS中创建一个助手函数。 我的函数名是updateInfo(X)并且它应该允许接收对象 我试过了 var data = { "A": { "section_num": "2.2", "problem_set": "Same", "start_time": "7/20/2015 10:00 am", "student_am": "9", "due_time": "7/20/2015 11:00 am

我正在努力在JS中创建一个助手函数。 我的函数名是
updateInfo(X)并且它应该允许接收对象

我试过了

var data = {
    "A": {
        "section_num": "2.2",
        "problem_set": "Same",
        "start_time": "7/20/2015 10:00 am",
        "student_am": "9",
        "due_time": "7/20/2015 11:00 am",
        "submit": "9",
        "avg_score": "71",
        "danger": "5",
        "danger_list": "5,10,15,19,23",
        "warning": "8",
        "warning_list": "3,7,11,13,14,16,21,22",
        "success": "12",
        "success_list": "1,2,4,6,8,9,12,17,18,20,24,25"
    },
    "B": {
        "section_num": "2.3",
        "problem_set": "Not the same",
        "start_time": "6/19/2015 1:00 pm",
        "student_am": "23",
        "due_time": "6/19/2015 2:00 pm",
        "submit": "7",
        "avg_score": "82",
        "danger": "10",
        "danger_list": "11,12,13,14,15,16,17,18,19,20",
        "warning": "10",
        "warning_list": "1,2,3,4,5,6,7,8,9,10",
        "success": "5",
        "success_list": "21,21,23,24,25"
    }
};


//console.log( data.B.section_num ); // <--- HERE I got 2.3

function updateInfo(X) {
    section_num.html(data.X.section_num);
    problem_set.html(data.X.problem_set);
    start_time.html(data.X.start_time);
    student_am.html(data.X.student_am);
    due_time.html(data.X.due_time);
    submit.html(data.X.submit);
    avg_score.html(data.X.avg_score);
    danger.html(data.X.danger);
    danger_list.html(data.X.danger_list);
    warning.html(data.X.warning);
    warning_list.html(data.X.warning_list);
    success.html(data.X.success);
    success_list.html(data.X.success_list);
}

console.log(updateInfo(B)); // < ---HERE I got error...: (
var数据={
“A”:{
“章节编号”:“2.2”,
“问题集”:“相同”,
“开始时间”:“2015年7月20日上午10:00”,
“学生上午”:“9”,
“截止时间”:“2015年7月20日上午11:00”,
“提交”:“9”,
“平均得分”:“71”,
“危险”:“5”,
“危险清单”:“5,10,15,19,23”,
“警告”:“8”,
“警告列表”:“3,7,11,13,14,16,21,22”,
“成功”:“12”,
“成功列表”:“1,2,4,6,8,9,12,17,18,20,24,25”
},
“B”:{
“章节编号”:“2.3”,
“问题集”:“不一样”,
“开始时间”:“2015年6月19日下午1:00”,
“学生上午”:“23”,
“截止时间”:“2015年6月19日下午2:00”,
“提交”:“7”,
“平均得分”:“82”,
“危险”:“10”,
“危险清单”:“11,12,13,14,15,16,17,18,19,20”,
“警告”:“10”,
“警告列表”:“1,2,3,4,5,6,7,8,9,10”,
“成功”:“5”,
“成功列表”:“21,21,23,24,25”
}
};
//console.log(data.B.section_num);// 改变

另一种可能是

function updateInfo(ob){
section_num.html(  ob.section_num  );


首先,当调用
updateInfo
时,应该传递一个字符串,以便将值括在引号中。您看到的错误是因为JS正在查找代码中不可用的名为
B
的变量

updateInfo('B');
然后,当访问
数据
对象的属性时,需要使用括号表示法提供作为字符串传入的键:

function updateInfo(X) {
    section_num.html(data[X].section_num);
    problem_set.html(data[X].problem_set);
    start_time.html(data[X].start_time);
    student_am.html(data[X].student_am);
    due_time.html(data[X].due_time);
    submit.html(data[X].submit);
    avg_score.html(data[X].avg_score);
    danger.html(data[X].danger);
    danger_list.html(data[X].danger_list);
    warning.html(data[X].warning);
    warning_list.html(data[X].warning_list);
    success.html(data[X].success);
    success_list.html(data[X].success_list);
}
试试这个:

  • 将B作为字符串传递,如下所示:
    updateInfo(“B”)
  • updateInfo
    函数中,如下使用:
    section_num.html(data[X].section_num)

所以错误是我需要把我的物体放在一个[]-对吗?错误是直接访问
B
,而不是作为
数据。B
哦,我明白了。而
[]
是做什么的?
[]
可以接受键作为字符串,简而言之
数据。B
相当于
数据[“B”]
嗯。。。您应该将这些有用的评论作为您答案的一部分。:)谢谢大家,你们都很乐于助人,也很了不起你说得对,这个
更新信息(“B”)
-如果它不在报价单中,它就不起作用。
console.log( updateInfo('B') );
function updateInfo(ob){
section_num.html(  ob.section_num  );
console.log( updateInfo(data.B) );
updateInfo('B');
function updateInfo(X) {
    section_num.html(data[X].section_num);
    problem_set.html(data[X].problem_set);
    start_time.html(data[X].start_time);
    student_am.html(data[X].student_am);
    due_time.html(data[X].due_time);
    submit.html(data[X].submit);
    avg_score.html(data[X].avg_score);
    danger.html(data[X].danger);
    danger_list.html(data[X].danger_list);
    warning.html(data[X].warning);
    warning_list.html(data[X].warning_list);
    success.html(data[X].success);
    success_list.html(data[X].success_list);
}