建HTML网页时,可以采用多种布局和设计风格。以下是一些常见的网页形态名称,可用于不同的网站设计和功能需求:
1. **门户网站** - 集成了新闻、天气预报、邮箱等服务的网站。
2. **企业网站** - 用于展示公司信息、产品和服务。
3. **电子商务网站** - 用于在线销售商品。
4. **博客** - 用于个人或公司发布文章和日志。
5. **社交媒体网站** - 如Facebook和Twitter,用于社交互动。
6. **论坛** - 用户可以发帖和回帖讨论特定主题。
7. **新闻网站** - 提供新闻文章和更新。
8. **教育网站** - 用于在线课程和学术资源。
9. **政府网站** - 提供政府服务和信息。
10. **非营利组织网站** - 用于宣传和筹款。
11. **个人作品集** - 展示个人作品,如设计师和艺术家。
12. **在线百科全书** - 如维基百科,提供大量信息。
13. **食谱网站** - 提供食谱和烹饪技巧。
14. **健康与健身网站** - 提供健康和健身相关内容。
15. **旅行网站** - 提供旅行信息和预订服务。
16. **房地产网站** - 展示房产信息和经纪人。
17. **汽车网站** - 提供汽车信息和销售服务。
18. **科技新闻网站** - 关注最新科技发展和产品。
19. **音乐网站** - 提供音乐播放和下载。
20. **视频分享网站** - 如YouTube,用户可以上传和分享视频。
21. **电影数据库** - 如IMDb,提供电影信息和评论。
22. **体育网站** - 提供体育新闻和赛事信息。
23. **财经网站** - 提供股票市场和财经新闻。
24. **摄影网站** - 展示和分享摄影作品。
25. **时尚网站** - 提供时尚新闻和趋势。
26. **宠物网站** - 提供宠物护理和相关信息。
27. **美食博客** - 分享美食制作和餐厅评论。
28. **儿童网站** - 提供儿童教育和娱乐内容。
29. **DIY网站** - 提供手工制作和DIY项目。
30. **游戏网站** - 提供在线游戏和游戏新闻。
31. **星座占卜网站** - 提供星座运势和占卜。
32. **招聘网站** - 提供职位信息和求职服务。
33. **个人博客** - 个人分享生活和观点的博客。
34. **科技博客** - 关注科技产品和公司动态。
35. **书评网站** - 提供书籍评论和推荐。
36. **旅游博客** - 分享旅行经历和攻略。
37. **艺术画廊网站** - 展示和销售艺术品。
38. **在线市场** - 如Etsy,提供手工艺品和独特商品。
39. **在线课程平台** - 提供各种在线课程和培训。
40. **语言学习网站** - 提供语言学习和练习工具。
41. **健康咨询网站** - 提供健康和医疗建议。
42. **心理健康网站** - 提供心理健康信息和资源。
43. **个人财务网站** - 提供个人理财建议和工具。
44. **投资网站** - 提供投资策略和市场分析。
45. **环境与自然网站** - 关注环境保护和自然话题。
46. **历史与文化网站** - 提供历史和文化知识。
47. **宗教与灵性网站** - 提供宗教和灵性内容。
48. **政治评论网站** - 提供政治新闻和评论。
49. **在线论坛** - 用户可以讨论各种主题。
50. **慈善网站** - 用于宣传和筹集慈善捐款。
这些形态的名称代表了不同的网站类型和功能,可以根据您的需求和目标受众选择合适的网站形态。
码必须尽可能的清晰和易读。
这实际上是一种编程艺术 —— 以一种正确并且人们易读的方式编码来完成一个复杂的任务。一个良好的代码风格大大有助于实现这一点。
下面是一个备忘单,其中列出了一些建议的规则(详情请参阅下文):
现在,让我们详细讨论一下这些规则和它们的原因吧。
没有什么规则是“必须”的
没有什么规则是“刻在石头上”的。这些是风格偏好,而不是宗教教条。
在大多数的 JavaScript 项目中,花括号以 “Egyptian” 风格(译注:“egyptian” 风格又称 K&R 风格 — 代码段的开括号位于一行的末尾,而不是另起一行的风格)书写,左花括号与相应的关键词在同一行上 — 而不是新起一行。左括号前还应该有一个空格,如下所示:
if (condition) {
// do this
// ...and that
// ...and that
}
单行构造(如 if (condition) doSomething())也是一个重要的用例。我们是否应该使用花括号?如果是,那么在哪里?
下面是这几种情况的注释,你可以自己判断一下它们的可读性:
对于很短的代码,写成一行是可以接受的:例如 if (cond) return null。但是代码块(最后一个示例)通常更具可读性。
没有人喜欢读一长串代码,最好将代码分割一下。
例如:
// 回勾引号 ` 允许将字符串拆分为多行
let str = `
ECMA International's TC39 is a group of JavaScript developers,
implementers, academics, and more, collaborating with the community
to maintain and evolve the definition of JavaScript.
`;
对于 if 语句:
if (
id === 123 &&
moonPhase === 'Waning Gibbous' &&
zodiacSign === 'Libra'
) {
letTheSorceryBegin();
}
一行代码的最大长度应该在团队层面上达成一致。通常是 80 或 120 个字符。
有两种类型的缩进:
show(parameters,
aligned, // 5 spaces padding at the left
one,
after,
another
) {
// ...
}
function pow(x, n) {
let result = 1;
// <--
for (let i = 0; i < n; i++) {
result *= x;
}
// <--
return result;
}
插入一个额外的空行有助于使代码更具可读性。写代码时,不应该出现连续超过 9 行都没有被垂直分割的代码。
每一个语句后面都应该有一个分号。即使它可以被跳过。
有一些编程语言的分号确实是可选的,那些语言中也很少使用分号。但是在 JavaScript 中,极少数情况下,换行符有时不会被解释为分号,这时代码就容易出错。更多内容请参阅 代码结构 一章的内容。
如果你是一个有经验的 JavaScript 程序员,你可以选择像 StandardJS 这样的无分号的代码风格。否则,最好使用分号以避免可能出现的陷阱。大多数开发人员都应该使用分号。
尽量避免代码嵌套层级过深。
例如,在循环中,有时候使用 continue 指令以避免额外的嵌套是一个好主意。
例如,不应该像下面这样添加嵌套的 if 条件:
for (let i = 0; i < 10; i++) {
if (cond) {
... // <- 又一层嵌套
}
}
我们可以这样写:
for (let i = 0; i < 10; i++) {
if (!cond) continue;
... // <- 没有额外的嵌套
} //多用这种风格。
使用 if/else 和 return 也可以做类似的事情。
例如,下面的两个结构是相同的。
第一个:
function pow(x, n) {
if (n < 0) {
alert("Negative 'n' not supported");
} else {
let result = 1;
for (let i = 0; i < n; i++) {
result *= x;
}
return result;
}
}
第二个:
function pow(x, n) {
if (n < 0) {
alert("Negative 'n' not supported");
return;
}
let result = 1;
for (let i = 0; i < n; i++) {
result *= x;
}
return result;
}
但是第二个更具可读性,因为 n < 0 这个“特殊情况”在一开始就被处理了。一旦条件通过检查,代码执行就可以进入到“主”代码流,而不需要额外的嵌套。
如果你正在写几个“辅助”函数和一些使用它们的代码,那么有三种方式来组织这些函数。
// function declarations
function createElement() {
...
}
function setHandler(elem) {
...
}
function walkAround() {
...
}
// the code which uses them
let elem = createElement();
setHandler(elem);
walkAround();
// the code which uses the functions
let elem = createElement();
setHandler(elem);
walkAround();
// --- helper functions ---
function createElement() {
...
}
function setHandler(elem) {
...
}
function walkAround() {
...
}
大多数情况下,第二种方式更好。
这是因为阅读代码时,我们首先想要知道的是“它做了什么”。如果代码先行,那么在整个程序的最开始就展示出了这些信息。之后,可能我们就不需要阅读这些函数了,尤其是它们的名字清晰地展示出了它们的功能的时候。
风格指南包含了“如果编写”代码的通用规则,例如:使用哪个引号、用多少空格来缩进、一行代码最大长度等非常多的细节。
当团队中的所有成员都使用相同的风格指南时,代码看起来将是统一的。无论是团队中谁写的,都是一样的风格。
当然,一个团队可以制定他们自己的风格指南,但是没必要这样做。现在已经有了很多制定好的代码风格指南可供选择。
一些受欢迎的选择:
如果你是一个初学者,你可以从本章中上面的内容开始。然后你可以浏览其他风格指南,并选择一个你最喜欢的。
检查器(Linters)是可以自动检查代码样式,并提出改进建议的工具。
它们的妙处在于进行代码风格检查时,还可以发现一些代码错误,例如变量或函数名中的错别字。因此,即使你不想坚持某一种特定的代码风格,我也建议你安装一个检查器。
下面是一些最出名的代码检查工具:
它们都能够做好代码检查。我使用的是 ESLint。
大多数检查器都可以与编辑器集成在一起:只需在编辑器中启用插件并配置代码风格即可。
例如,要使用 ESLint 你应该这样做:
下面是一个 .eslintrc 文件的例子:
{
"extends": "eslint:recommended",
"env": {
"browser": true,
"node": true,
"es6": true
},
"rules": {
"no-console": 0,
"indent": 2
}
}
这里的 "extends" 指令表示我们是基于 “eslint:recommended” 的设置项而进行设置的。之后,我们制定我们自己的规则。
你也可以从网上下载风格规则集并进行扩展。有关安装的更多详细信息
此外,某些 IDE 有内置的检查器,这非常方便,但是不像 ESLint 那样可自定义。
本文描述的(和提到的代码风格指南中的)所有语法规则,都旨在帮助你提高代码可读性。它们都是值得商榷的。
当我们思考如何写“更好”的代码的时候,我们应该问自己的问题是:“什么可以让代码可读性更高,更容易被理解?”和“什么可以帮助我们避免错误?”这些是我们讨论和选择代码风格时要牢记的主要原则。
阅读流行的代码风格指南,可以帮助你了解有关代码风格的变化趋势和最佳实践的最新想法。
T之家12月9日消息 微软对Chromium开源项目非常感兴趣,因为该项目对Edge和Chrome都有利。微软最新的功能请求之一就是希望通过部署Edge HTML风格的滚动特性从而让Chromium的滚动变得更加灵敏。
微软打算将Impulse样式(即EdgeHTML样式)滚动动画加入到Chromium中,微软已经将该滚动动画移植到了基于Chromium的Edge浏览器的Dev Canary通道中。默认情况下,Edge浏览器中启用了脉冲样式的滚动动画。对于Chrome,该功能可能会在未来几天内出现在试验版浏览器中。
微软表示,Impulse-style (也就是EdgeHTML-style)滚动动画将提供更灵敏的滚动体验,用户启用后鼠标滚轮的每个刻度都试图模仿基于物理的内容,内容会开始快速移动然后逐渐变慢。换句话说,由于开始时的快速加速,该模式会给人一种更灵敏的感觉。
此外微软还在推行另一项称之为“percent-based scrolling”(基于百分比的滚动)的滚动方案,该模式允许浏览器将鼠标滚轮或者键盘滚动解释为预期滚动条的百分比。微软目前正努力将经典版Edge浏览器的优秀特性移植到Chromium平台上,包括这项基于百分比的滚动方式。
*请认真填写需求信息,我们会在24小时内与您取得联系。