编程语言(如C,C ++)中的语法和语义有什么区别?
在面向文章的页面(例如博客文章)中, <h1>元素(1级标题)通常用于标记: 博客标题(即页面顶部的常常大的站点标题, 而不是 <title>元素),或者 文章标题 什么是最好的select,为什么? 对于网站所有者而言,他们可能想向全世界喊出他们网站/博客的名字,在网站标题周围使用1级标题似乎是有道理的。 从您尝试与用户沟通的angular度来看,网站标题的相关性较低 – 文章内容就是您要传达的内容,而所有其他网站内容都是次要的。 因此,使用<h1>作为文章标题似乎是最好的。 我觉得<h1>元素应该专注于文章标题,而不是网站标题或其他内容。 这似乎并不是一个受欢迎的惯例。 例子: Joel Spolsky使用<h1>作为文章标题,并为网站标题定位 Jeff Atwood 完全不使用<h1> , <h2>使用文章标题和网站标题的锚点 37信号SVN使用<h1>作为站点标题和文章标题的锚点 这是三个站点的三种不同的方法,您可能希望强调正确的语义标记。 我认为乔尔和杰夫差不多。 我非常惊讶37Signals人员的标记select。 对我来说,这似乎是一个非常简单的决定:什么是最相关的文章的消费者? 文章标题。 因此将文章标题包装在<h1>元素中。 完成。 我错了吗? 我错过了更多的考虑吗? 我对吗? 如果是这样,为什么' <h1>的文章标题'方法不是更常用? 决定使用<h1>元素的地方像我说的那样是不变的? 还是有一些主观的考虑要做呢? 更新 :感谢迄今为止所有的答案。 对于如何使用<h1>作为文章标题而不是使用网站标题来获得可用性和可访问性(或者不是,视情况而定),我真的很感激。 基于事实而不是个人假设的答案将获得许多奖励点!
“语义”和“语法”在意义上有什么不同? 他们是什么? 另外,“语义网站与普通网站”,“语义社交networking与普通社交networking”等有什么不同?
似乎可互换?
我通常使用KeyValuePair<TKey,TValue>types,只要我有一对是相关的数据,意思是一个是另一个的关键。 如果数据是不相关的,那么Tuple<T1,T2>types就更有意义了,我愿意这样做。 现在我只是阅读这篇文章 ,为什么一般要避免KeyValuePair<TKey,TValue> ,喜欢Tuple<T1,T2> 。 主要参数是Tuple<T1,T2>的性能优势。 在表演之外,是否有任何理由认为KVP会比Tuple<T1,T2>更好?
这是我一直在苦苦挣扎的一个问题。 什么是标记名称/值对的正确方法? 我喜欢<dl>元素,但是它提出了一个问题:没有办法将一对与另一个分开 – 它们没有独特的容器。 在视觉上,代码缺乏定义。 但从语义上讲,我认为这是正确的标记。 <dl> <dt>Name</dt> <dd>Value</dd> <dt>Name</dt> <dd>Value</dd> </dl> 在上面的代码中,很难在代码和呈现中直观地对对进行适当的偏移。 例如,如果我想要,但是每一对都有一个边框,那将是一个问题。 我们可能会指向表格。 可以认为,名称 – 值对是表格数据。 这对我来说似乎是不正确的,但是我看到了这个观点。 但是,HTML不区分名称和值,除了位置,或者添加类名称。 <table> <tr> <td>Name</td> <td>Value</td> </tr> <tr> <td>Name</td> <td>Value</td> </tr> </table> 从代码和CSS的视觉angular度来看,这更有意义。 造型前述的边界是微不足道的。 但是,如上所述,语义最好是模糊的。 想法,意见,问题? 编辑/更新也许这是我应该明确提到的有关结构的东西,但定义列表也有问题,没有语义分组的对。 一个dd和一个dt之间的sorting和隐含的边界很容易被理解,但是他们仍然感觉有点偏离我。
在Java 8中,我经常听到有关“加糖”和“解脱”的问题,这些术语是什么意思? 他们是概念上的还是语法上的? 一些例子: 默认迭代循环resugaring到Java 关于语法糖在编写中的观察。
在Swift简介会上,演示了一个只读的属性description : class Vehicle { var numberOfWheels = 0 var description: String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description) 是否有任何意义,而不是使用一种方法来select上述方法: class Vehicle { var numberOfWheels = 0 func description() -> String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description()) 在我看来,你会select只读计算属性的最明显的原因是: 语义 – 在这个例子中, description是类的一个属性,而不是它执行的动作。 简洁/清晰 – 防止在获取价值时使用空圆括号。 显然,上面的例子过于简单,但是还有其他很好的理由select一个吗? […]
今天,我已经得到了关于代码的评论,考虑了我在学校任务中检查variables是真是假的方式。 我写的代码是这样的: var booleanValue = true; function someFunction(){ if(booleanValue === true){ return "something"; } } 他们说这样写就好: var booleanValue = true; function someFunction(){ if(booleanValue){ return "something"; } } 我对“===真”部分的评论是没有必要,可能造成混乱。 不过,我的想法是,最好检查一下variables是否是一个布尔值,特别是因为Javascript是一个loosetyped语言。 在第二个例子中,一个string也会返回“something”; 所以我的问题 将来是否会放松“===真”部分是更好的做法,或者是检查variables的types也是一个好习惯。 编辑:在我的“真实”的代码布尔代表是否图像已被删除,所以只有值boolValue应该永远是真或假。 例如0和1不应该在该variables中。
GET和POST对Ajax请求有什么区别? 我没有看到这两者之间的任何区别,除了当我使用GET ,参数发送的URL,这对我来说没有什么区别,因为所有的请求都是在后台进行的,用户没有find任何区别。 编辑:什么是用于PUT和DELETE方法?