JavaScript函数的功能,返回并访问一个值

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 
     } 

}(); 
+0

不知道的总体目标是什么,但是这肯定似乎是一个复杂的方式与对象的字符串相关联。 – 2017-04-01 16:47:10

你的代码主要工作。只有两个部分你错过了:

  1. 由于您使用赋值语句定义ProjectNew,您需要在尝试使用它之前进行赋值。您看到的错误意味着它在尝试使用它时还没有值(或者它不在您尝试使用它的范围内)。
  2. 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);