所以我很熟悉javascript,但我不确定这个。
难以解释所以我只是展示它:
var view = new View();
view.rating = 4.5;
有没有将view.rating作为一个函数调用DOM来操作DOM并将该等级设置为5?
所以在视图中:
View.prototype = {
rating : function() {
$('div.stars').width(4.5);
}
}
我知道有一些解决方法,使用“view.rating = 5”之外的其他内容。我对那些不感兴趣。我想知道是否有办法设置这个维护view.rating = 5.这是即将到来的JS本质上直接来自PHP,我不想让PHP陷入匿名函数..就像view.rating = function(){...};
谢谢! 马特穆勒
答案 0 :(得分:4)
没有。 (编辑:至少不是所有普通浏览器的实现)
Javascript中没有任何内容等同于“重载=
运算符”。
修改强>:
我不确定你是否清楚这一点。如果你使rating
成为一个函数(无论是否通过原型),你应该像view.rating(5)
一样调用它,它可以更新DOM(或做任何事情)。
答案 1 :(得分:3)
JavaScript的大多数实现都不支持创建getter / setter属性,因此它在Web上不会非常有用。但是有一些实现可以做到。这是Mozilla实现的一个例子:
编辑:让我澄清一下,编写getter / setter是使用getFoo()/ setFoo(foo)样式属性的语法糖。这是为了开发人员的利益。 IMO,对于一个网络应用程序(主要是因为IE缺乏支持),它还不太现实。虽然IE市场份额正在下降,但根据您在广泛公开的应用中的人口统计数据,此时很多的访问者仍然无法获得支持。
您感兴趣的更多链接: