我正在寻找一些体面的编码标准和JavaScript的最佳编程实践?JavaScript的编码标准和最佳编程实践
我有一个C#背景。在网页上如何命名控件?如果你有一个按钮,你会如何命名id属性?在ASP.NET中,我们称之为btnSearch。 Treeviews将会像tvUsers一样。
我正在使用YUI API,但在这里也适用。
我正在寻找一些体面的编码标准和JavaScript的最佳编程实践?JavaScript的编码标准和最佳编程实践
我有一个C#背景。在网页上如何命名控件?如果你有一个按钮,你会如何命名id属性?在ASP.NET中,我们称之为btnSearch。 Treeviews将会像tvUsers一样。
我正在使用YUI API,但在这里也适用。
没有明确的JS的PEP-8等风格指南。尽管如此,JavaScript Garden包含一些关于它的怪癖的很好的信息。通过研究你可能会学到一两招。 :)
考虑到你的id问题,我宁愿在编写应用程序时避免使用id。这仅仅是因为事情很容易结束冲突。
取而代之,我喜欢通过JS(直接引用elem)动态构造我的元素,并使用类属性进行样式设计(即“.clear.button”)。我不确定是否有其他人这样做,虽然...
既然你正在处理YUI,它可能你有一些特定的约定。
你如何在JS中创建元素?提交表单时你会做什么,你可能需要参考一个文本框? ID会帮助获取对特定元素的引用吗? – 2011-05-04 06:49:20
DOM提供了用于创建许多框架包装的元素(createElement,appendChild)的方法。我的情况有点特殊,因为我不必在应用程序中处理表单等。不过,我认为有一些标准的方法可以解决这个问题。也许你只是在服务器端生成JS,并获得这样的ID。我记得在Django做这样的事情。 – 2011-05-04 07:14:18
我有一个C#背景。如何在网页上命名 控件?
客户端ID是控件的属性: controlId.ClientID
例子:
string MyJavaScriptControlId = btnSearch.ClientID;
或者,在你的aspx:
<script type="text/javascript">
htmlElement = document.getElementById('<% tvUsers.ClientID %>');
</script>
我只是想知道如何在JS中命名你的元素。 C#部分就是我在C#中如何命名它们的。你会说它是相同的,还是在使用JS时遵循另一个命名约定。 – 2011-05-04 06:51:04
@Brendan,默认情况下,C#控件的ID不会传递给客户端。客户端ID在运行时生成,并作为ClientID存储在元素中。您可以更改使用ClientIDMode选项生成clientID的方式。如果设置ClientIDMode =“static”,那么clientID将与背景ID相同。 – Andre 2011-05-04 12:38:15
@NeXXeuS - 链接是http://programmers.stackexchange.com – 2011-05-02 16:50:33
道格拉斯克罗克福德完整的书,先观看视频。 – 2011-05-02 16:51:14
哎呀,谢谢。 @JohnGiotta – mattsven 2011-05-02 16:53:01