JavaScript函数的功能,返回并访问一个值
问题描述:
我完全陌生的JavaScript,但我的朋友问我的帮助。林想知道是否这样的事情可能在JS?JavaScript函数的功能,返回并访问一个值
如果项目的价值是 “花园”
我应该得到例如夫妇值名称:
花园项目
我试过:
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
}
}();
答
你的代码主要工作。只有两个部分你错过了:
- 由于您使用赋值语句定义
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);
不知道的总体目标是什么,但是这肯定似乎是一个复杂的方式与对象的字符串相关联。 – 2017-04-01 16:47:10