我是JavaScript新手,但我的朋友向我求助。我想知道JS中是否有可能出现这样的事情?
如果项目的价值是" garden"
我应该得到几个值,例如名称:
花园项目
我试过了:
var myProject="garden";
ProjectNew.detectTemplate(myProject).choosenProject.name;
我得到了:
Unexpected exception 'ReferenceError: ProjectsNew is not defined
但它不起作用。我在JS中描述和想做的可能吗?
var ProjectNew = function() {
function detectTemplate(project) {
if (project=='garden'){
var choosenProject = {
name: "Garden Project",
description: "sample description'",
ansprechpartner: "Greg",
branche: "shoping",
partner: "'Stihl",
technik: 'lawn mover selling'
};
return choosenProject;
}
}
return {
detectTemplate: detectTemplate
}
}();
答案 0 :(得分:1)
您的代码大多有效。你错过了两个部分:
ProjectNew
,因此需要在尝试使用它之前进行分配。您看到的错误意味着当您尝试使用它时它还没有值(或者它不在您尝试使用它的范围内)。detectTemplate()
返回choosenProject
本身,而不是具有名为choosenProject
的属性的对象,因此您需要从一系列属性访问中删除该部分。工作代码:
var ProjectNew = function() {
function detectTemplate(project) {
if (project == 'garden') {
var choosenProject = {
name: "Garden Project",
description: "sample description'",
ansprechpartner: "Greg",
branche: "shoping",
partner: "'Stihl",
technik: 'lawn mover selling'
};
return choosenProject;
}
}
return {
detectTemplate: detectTemplate
}
}();
var myProject = "garden";
console.log(ProjectNew.detectTemplate(myProject).name);