JS的基础知识1(标签,选择器,内核,dtd,关键词)

一、标签:
a:表示超链接的起始或目的位置。
acronym:表示取首字母的缩写词。
address:表示特定信息,如地址、签名、作者、文档信息。
applet:在页面上放置可执行内容。
area:定义一个客户端图像映射中一个超级链接区域的形状、坐标和关联 URL。
b:指定文本应以粗体显示。
base:指定一个显式 URL 用于解析对于外部源的链接和引用,如图像和样式表。
basefont:设置显示文本时作为默认字体的基础字体值。
bdo:允许作者为选定文本片断禁用双向法则。
bgsound:使页面能够带有背景声音或配音。
big:指定所含文本要以比当前字体稍大的字体显示。
blockquote:表示文本中的一段引用语。
body:指明文档主体的开始和结束。
br:插入一个换行符。
button:指定一个容器,其中所含的 HTML 会被显示为一个按钮。
caption:表格的标题,对表格的简单描述。
center:将指定文本和图像居中显示。
cite:用斜体显示标明引文。
code:表示代码范例。
col:说明基于列的表格缺省属性。
colgroup:说明表格中一列或一组列的缺省属性。
comment:表示不可见的注释。防止所包含的文本或者HTML源代码被浏览器解析和显示。
dd:在定义列表中表示定义。定义通常在定义列表中缩进显示。
del:表示文本已经从文档中删除。
dfn:表示术语的定义。
dir:表示目录列表。
div:表示一块可显示 HTML 的区域
dl:表示定义列表。
dt:在定义列表中表示定义术语。
em:强调文本,通常以斜体显示。
embed:允许嵌入任何类型的文档。
fieldset:在字段集包含的文本和其它元素外面画一个方框。
font:用于说明所包含文本的新字体、大小和颜色。
form:说明所包含的控件是某个表单的组成部分。
frame:在 FRAMESET 元素内表示单个框架。
frameset:表示一个框架集,用于组织多个框架和嵌套框架集。
head:提供了关于文档的无序信息集合。
hn:以标题样式显示文本。
hr:画一条横线。
html:表明文档包含 HTML 元素。
i:指定文本应以斜体显示。
iframe:创建内嵌漂浮框架。
img:在文档中嵌入图像或视频片断。
input:创建各种表单输入控件。
input type=button:创建按钮控件。
input type=checkbox:创建复选框控件。
input type=file:创建文件上载控件,该控件带有一个文本框和一个浏览按钮。
input type=hidden:传输关于客户/服务器交互的状态信息。
input type=image:创建一个图像控件,该控件被点击后将导致表单立即被提交。
input type=password:创建与 INPUT type=text 控件类似的单行文本输入控件,不过并不显示用户输入的内容。
input type=radio:创建单选钮控件。
input type=reset:创建一个按钮,点击该按钮后,将重置表单控件回其初始值。
input type=submit:创建一个按钮,点击该按钮后,即提交表单。
input type=text:创建一个单行的文本输入控件。
ins:表示插入到文档中的文本。
isindex:使浏览器显示一个对话框,提示用户输入单行文本。
kbd:以定宽字体显示文本。
label:为页面上的其它元素指定标签。
legend:在 fieldSet 对象绘制的方框内插入一个标题。
li:表示列表中的一个项目。
link:允许当前文档和外部文档建立连接。
listing:以固定宽度的字体显示文本。
map:包含客户端图像映射的坐标数据。
marqueee:创建一个滚动的文本字幕。
menu:创建一个无序列表。
meta:向服务器和客户端传达关于文档的隐藏信息。
nobr:不换行显示文本。
noframes:包含对于那些不支持 FRAMESET 元素的浏览器使用的 HTML。
noscript:指定在不支持脚本的浏览器中显示的 HTML。
object:在 HTML 页面中插入对象。
ol:编制排序列表。
optgroup:允许作者对 select 元素中的选项进行逻辑分组。
option:表示 SELECT 元素中的一个选项。
p:表示一段。
param:设置 APPLET、EMBED 或 OBJECT 元素的属性初始值。
pre:以固定宽度字体显示文本。
q:分离文本中的引语。
s:带删除线方式显示文本。
samp:表示代码范例。
script:指定由脚本引擎解释的页面中的脚本。
select:表示一个列表框或者一个下拉框。
small:指定内含文本要以比当前字体稍小的字体显示。
span:指定内嵌文本容器。
strike:带删除线显示文本。
strong:以粗体显示文本。
style:指定页面的样式表。
sub:说明内含文本要以下标的形式显示,比当前字体稍小。
sup:说明内含文本要以上标的形式显示,比当前字体稍小。
table:说明所含内容组织成含有行和列的表格形式。
tbody:指明哪些行作为表格的主体。
td:指定表格中的单元格。
textarea:多行文本输入控件。
tfoot:指明哪些行作为表尾。
th:指定标题列。标题列将在单元格中居中并以粗体显示。
thead:指定哪些行作为表头。
title:文档的标题。
tr:指定表格中的一行。
tt:以固定宽度字体显示文本。
u:带下划线显示文本。
ul:表示不排序的项目列表。
var:定义程序变量,通常以斜体显示。
wbr:向一块 NOBR 文本中插入软换行。
块级元素和行内元素的区别:
1.块级元素独自占一行且宽度会占满父元素宽度,行内元素不会独占一行,相邻行内元素可以排在同一行。
2.块级元素可以设置weith和height,行内元素设置width和height无效,而且块级元素即使设置宽度也还是独占一行。
3.块级元素可以设置margin和padding属性,行内元素水平方向的margin和padding如margin-left、padding-right可以产生边距效果,但是竖直方向的如padding-top和margin-bottom不会产生边距效果。
4、块级元素对应display:block,行内元素对应display:inline。可以通过修改元素的display属性来切换行内元素和块级元素。display:inline-block;可以让元素具有块级元素和行内元素的特性:既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。是一个很实用的属性。
常见的块级元素和内联元素:
内联元素(行内元素)内联元素(inline element)
a - 锚点,* b - 粗体(不推荐),* bdo - bidi override,* big - 大字体,* br - 换行,,* em - 强调,* i - 斜体,* img - 图片,* input - 输入框,* kbd - 定义键盘文本,* label - 表格标签,* select - 项目选择,* small - 小字体文本,* span - 常用内联容器,定义文本内区块,* strike - 中划线
* strong - 粗体强调,* sub - 下标,* sup - 上标,* textarea - 多行文本输入框,* tt - 电传文本,* u - 下划线,* var - 定义变量。
其中内联块包括以下元素:
input textarea button select img

块元素(block element)
* address - 地址,* blockquote - 块引用,* center - 举中对齐块,* dir - 目录列表,* div - 常用块级容易,也是css layout的主要标签,* dl - 定义列表,* fieldset - form控制组,* form - 交互表单,* h标签,* hr - 水平分隔线,* isindex - input prompt,* menu - 菜单列表,* ol - 排序表单,* p - 段落,* pre - 格式化文本,* table - 表格,* ul - 非排序列表。

二、 选择器 
         *      1 :标签选择器 div{},p{},h1{}  
         *          注意:标签指的是html中的标签 
         *      2 :类选择器 为标签添加一个class="类名" 例如:<p  class="p-color"></p> .p-color{} 
         *          注意: 
         *              1 :谁调用谁改变(html) 
         *              2 :一个标签可以同时调用多个类样式  例如:<p class="p-color p-size">文字1</p> 
         *              3:一个类标签可以被多个标签同时调用  <p class="p-color p-size">文字1</p> , <div class="p-color">文字1</div> 
         *          类的命名规范: 
         *              1 :推荐使用有语义的单词组合或者拼音组合定义类名 
        *               2 :不推荐使用汉字定义类名 
        *               3 :不能以纯数字或者以数字开头定义类名 
         *              4 :不能以特殊字符或者以特殊字符开头(“_”除外)定义类名 
         *      3:id选择器  <p id="p-color"></p> #p-color{} 
         *          注意: 
         *              1 :一个标签只能调用一个id样式(身份证) 
         *              2 :在html标签中,一个标签的id名必须唯一 (以后id选择器一般配合js使用) 
         *      4:通配符选择器  *{} 
         *          注意:该选择器会将页面中所有的标签选择,一并设置样式。 
         *  
      *      5:复合选择器 :标签名称 .选择器{}  或者    标签名称 #选择器{}  例如 div .aaa() 或  div #aa{} 
*  
         *      6:后代选择器 :div p{}  
         *          注意: 
         *              1 :标签之间的关系属于嵌套关系  说明 :被div标签包裹的p标签 
         *              2 :选择器中间必须用空格隔开 
         *      7:并集选择器 :p,div,span,h1{} 
         *          注意:并集选择器标签之间的关系可以是并列的关系也可以是嵌套关系 
         * 选择器的优先级 :  
         *          1 标签选择器 < 类选择器 <  ID选择器 < 行内样式 < !important  
还有一个是伪类选择器,其优先级和类选择器的优先级一样。
三、浏览器内核
  浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有 10 多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。
1、IE浏览器内核:Trident内核,也是俗称的IE内核;
2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;
3、Firefox浏览器内核:Gecko内核,俗称Firefox内核;
4、Safari浏览器内核:Webkit内核;
5、Opera浏览器内核:最初是自己的Presto内核,后来加入谷歌大军,从Webkit又到了Blink内核;
6、360浏览器、猎豹浏览器内核:IE+Chrome双内核;
7、搜狗、遨游、QQ浏览器内核:Trident(兼容模式)+Webkit(高速模式);
8、百度浏览器、世界之窗内核:IE内核;
9、2345浏览器内核:好像以前是IE内核,现在也是IE+Chrome双内核了;
10、UC浏览器内核:这个众口不一,UC说是他们自己研发的U3内核,但好像还是基于Webkit和Trident,还有说是基于火狐内核。
四、DTD的优势
每一个XML文档都可携带一个DTD,用来对该文档格式进行描述,测试该文档是否为有效的XML文档。既然DTD有外部和内部之分,当然就可以为某个独立的团体定义一个公用的外部DTD,那么多个XML文档就都可以共享使用该DTD,使得数据交换更为有效。甚至在某些文档中还可以使内部DTD和外部DTD相结合。在应用程序中也可以用某个DTD来检测接收到的数据是否符合某个标准。
对于XML文档而言,虽然DTD不是必须的,但它为文档的编制带来了方便。加强了文档标记内参数的一致性,使XML语法分析器能够确认文档。如果不使用DTD来对XML文档进行定义,那么XML语法分析器将无法对该文档进行确认。
DOCTYPE是“document type”(文档类型)的简写,DOCTYPE声明必须放在文档最顶部,在所有代码和标识之上,DOCTYPE声明是必不可少的关键组成部分。DTD语法要求DOCTYPE必须要大写,而且DOCTYPE和元素之间必须要有空格隔开。如在以上代码中DOCTYPE和根元素root之间要有空格隔开。
DTD的缺陷
利用DTD验证有效性的解析器,就能够立即对文档的完整性进行可靠的检查。DTD虽然比较实用,但DTD也有不少的缺陷。
DTD有自己的特殊语法,其本身不是XML文档;
DTD只提供了有限的数据类型,用户无法自定义类型;
DTD不支持域名机制。
五、js的关键词
js中的关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScription的全部关键字:
  break、else、new、var、 case、  finally 、 return、 void 、 catch  、for  、switch 、 while 、 continue、  function  、this 、 with 、default 、 if 、 throw 、 delete 、 in 、  try 、do 、 instranceof、  typeof
ECMA还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途,但它们有可能将来被用作关键字。下面是ECMA第3版定义的全部保留字:
abstract 、 enum   、int 、 short 、 boolean  、export  、interface、  static、  byte  、extends 、 long 、 super 、 char 、 final  、native  、synchronized 、 class  、float 、 package  、throws 、 const  、goto  、private 、transient 、 debugger 、 implements  、protected 、 volatile 、 double  、import  、public
在代码中使用关键字作为标识符在大多数浏览器中都会倒是“Identifier Expected”(缺少标识符)错误。而使用保留字可能不会导致同样的错误,这要视具体的浏览器而定。一般来说,最好不要使用关键字和保留字作为标识符,一遍与ECMAScript未来的版本保持兼容。
摘自《JavaScript 高级程序设计第三版》 21页。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值