1、对象是函数的实例;
Object.toString 结果为 function toString() { [native code] }?:
toString是Object的原型的方法,Object构造函数如何能访问到toString?
2、用户代理:
用户代理字符串;
加密类型;
平台与操作系统的区别;
浏览器的呈现引擎;
编译版本与发布版本
3、en-US
4、\S 匹配任何可见字符:
等价于[^\f\n\r\t\v];
\s 匹配任何不可见字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v];
? 匹配前面的子表达式零次或一次;
(?:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用
5、Konqueror:
KDE桌面系统的一部分。
6、n/a或N/A:
不适用(Not applicable)。
7、navigator.platform:
"Win32"?
8、视频游戏系统中的Web浏览器?
9、在客户端,用户代理检测一般被当作一种万不得已才用的做法:
因为这种方法对用户代理字符串具有很强的依赖性。
10、浏览器的存根(stub)函数?
11、理解API:应用程序接口
12、Nodelist对象并不是Array的实例?:
具有动态性。
13、合并文本节点?
14、document对象:
Document类型可以表示HTML页面或其他基于XML的文档;
HTMLDocument继承自Document类型(原型继承?);
document对象是HTMLDocument的一个实例;
document对象是window对象的一个属性:
可作为全局对象访问。
所有HTML元素都由HTMLElement类型直接或间接表示;
HTMLElement类型直接继承自Element并添加了一些属性:
注意区分 HTML元素的特性 和其所对应的 HTMLElement对象的属性:
只有公认的(非自定义的)特性才会以属性的形式添加到DOM对象中;
HTMLElement对象的getAttribute()/setAttribute()方法可以获取元素自定义的特性;
关于自定义特性/属性:
为元素添加的新特性不会同步添加为HTMLElement对象的新属性,添加新特性的方式:
在HTML代码中,写在标签中;
在js代码中,调用setAttribute()方法。
为HTMLElement对象添加的新属性不会同步添加为元素的特性?,添加新属性的方式:
在js代码中,document.getElementById("myDiv").my_attribute = "tom"。
但是在IE中,上述两种情况都会同步;
填加的新特性或新属性都会在html页面显示?
特性的名称是不区分大小写的;
对于元素共有的5个基本特性,调用removeAttribute()方法:
删除元素特性(值和特性一并删除)会同步删除到DOM对象的属性的值(注意,只是值,即变成了空字符串,但属性还是存在的)。
15、整理浏览器的各种支持
16、域名:
跨域安全限制;
本地文件的域:document.domain为空字符串?
17、document.referrer:
来源页?
18、html元素/标签:
<legend>标签组合表单中的相关元素?
<label> 标签为 input 元素定义标注(标记):
label 元素不会向用户呈现任何特殊效果,不过,它为鼠标用户改进了可用性;
在 label 元素内点击文本,就会触发此控件,即当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上;
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
<em> 标签告诉浏览器把其中的文本表示为强调的内容。对于所有浏览器来说,这意味着要把这段文字用斜体来显示:
<strong> 标签和 <em> 标签一样,用于强调文本,但它强调的程度更强一些,通常是用加粗的字体(相对于斜体)来显示其中的内容。
dir="rtl" 表示右对齐方式,文本靠右边,标点符号在文本左边,注意文本里的文字顺序没有改变;
<link>标签的rel特性:
rel 属性规定当前文档与被链接文档之间的关系;
"stylesheet" 指示被链接的文档是一个(外部)样式表。
<table>标签:
<tbody> 标签用于组合 HTML 表格的主体内容;
tbody 元素应该与 thead 和 tfoot 元素结合起来使用:
thead 元素用于对 HTML 表格中的表头内容进行分组,而 tfoot 元素用于对 HTML 表格中的表注(页脚)内容进行分组;
必须在 table 元素内部使用这些标签,出现次序是:thead、tbody、tfoot:
一个标题行,一些带有数据的行,以及位于底部的一个总计行;
这种划分使浏览器有能力支持独立于表格标题和页脚的表格正文滚动;
当长的表格被打印时,表格的表头和页脚可被打印在包含表格数据的每张页面上。
caption 元素定义表格标题:
caption 标签必须紧随 table 标签之后;
只能对每个表格定义一个标题,通常这个标题会被居中于表格之上。
border 属性规定规定围绕表格的边框的宽度:
为每个单元格应用边框,并用边框围绕表格。
19、在Chrome里:
document.getElementsByName()返回的是一个NodeList对象,没有namedItem()方法;
document.getElementsByTagName()返回的是一个HTMLCollection对象,有namedItem()方法;
比较动态集合 HTMLCollection、NodeList、NameNodeMap:
Element类型的对象的attributes属性中包含一个NameNodeMap;
元素的每一个特性都由一个Attr节点表示,每个节点都保存在NameNodeMap对象中。
20、document.implementation.hasFeature("core","1.0") 参数不区分大小写?
21、文档写入:
首次在浏览器的控制台document.write("luke"),会覆盖当前的页面的全部,之后则不会?:
考虑是否是js文件源的不同。
22、序列化DOM元素?:
为XML或HTML字符串。
23、在向DOM文档中插入文本之前,先对文本进行HTML编码?:
<、>、" 会被转义成 <、>、"
d3.firstChild.nodeValue = "Hi,<p>Luke jun!</p>" 输出结果为 "Hi,<p>Luke jun!</p>" ,并未转义。
24、childNodes:
节点对象的childNodes返回的是Nodelist集合,该集合里保存的也是节点对象;
如果childNodes保存的是Text类型的节点对象,childNodes[0]返回的是形式上的字符串,而实际上是Text类型,并非String基本类型;
比较二者。
25、任何DOM节点不能同时出现在文档中的多个位置上:
append和appendChild的区别?
如果为节点A添加是节点B的子节点,则该节点自动与节点B断绝关系,成为节点A的子节点,不会报错。
26、在控制台导入一段js脚本并立即作用在当前页面?:
参照动态脚本一节;
script.src = "F:\webwork\JavaScript\_01_djs.js"; 结果为"F:webworkJavaScript_01_djs.js"?
script.src = "F:\\webwork\\JavaScript\\_01_djs.js"; 结果为"F:\webwork\JavaScript\_01_djs.js"
27、var li = null; 的道理?
28、Attr类型:
特性节点:
document.getElementById("list2").attributes 返回的是一个NamedNodeMap集合,集合中保存的是Attr类型的对象,也就是特性节点对象;
而document.getElementById("list2").getAttribute("id")或者document.getElementById("list2").id返回的都是id特性的值,是字符串,即String基本类型。
29、document有head属性:
document.getElementsByTagName("head")[0] == document.head 结果为true。
30、Chrome中访问style.styleSheet,结果为undefined?
浙公网安备 33010602011771号