最佳编程方式:切换或面向对象?

时间:2014-01-20 03:09:44

标签: javascript jquery html

我目前正在尝试为我点击的每个li编写一个具有动态div的程序。 这是一个小提琴,供参考:http://jsfiddle.net/aaronyolungz/P8x3z/7/

每个div都有4个我想独立调用的参数:name,hometown,major,experience。(都是字符串)

到目前为止,我有一个函数,它包含所有4个基于函数输入而变化的变量,但我希望能够在调用它时只返回名称,主要或家乡。我的整体问题是,我应该按原样保留我的代码并调用我想要的变量:

UserStatement(user).User.name

或者我应该选择这样的事情:

function user_name(user){return name;}
function user_major(user){return major;}

编辑:修正小提琴链接

2 个答案:

答案 0 :(得分:1)

你所拥有的是一个检索模型(UserStatement(userNumber))的函数,我没有看到调用者使用UserStatement(userNumber).name之类的问题。

对于switch语句,可以用数组或对象中的查找替换它。

并且,由于对模型的访问必须是动态的,因此您可以使用元素上的属性来告诉您要访问的属性:

<ul id="testimonials" data-property='name'>
  ...

然后像这样访问:

var userNumber = $(this).attr('id');
var property = $(this).parent().data('property');
added_div = '<div class="testimonial_expanded">' +
  UserStatement(userNumber)[property] + '</div>';

小提琴here

答案 1 :(得分:1)

我认为你应该将name, major, hometown作为属性值放在li中,例如

<li data-name="1" data-major="xx" data-hometown="" ></li>

因此,您可以通过$.data获取这些值,而不是将数据放入javascript中。

引用jQuery数据api doc

UserStatement(userName).name很好