面试题

一、window和document的常用方法和属性有哪些

**window**
1. window对象常见的属性
defauleStatus:指定窗口状态栏中的信息
status:指定当前窗口状态栏中的信息
frames:是一个数组,其中的内容是窗口中所有的框架
parent:指当前窗口的父窗口
self:指当前窗口
top:代表当前所有窗口的最顶层窗口
window:代表当前窗口

window.location :
    包含 href 属性,直接取值赋值时相当于 window.location.href。
window.location.href:  当前页面完整 URL。

2.window对象常见的方法
alert:显示带有一个“确定”按钮的对话框
confirm:显示带有“确定”和“取消”两个按钮的对话框
prompt:显示带有输入区的对话框
open:打开一个新的窗口
close:关闭用户打开的窗口


**document**
1.document常见的属性
title :设置文档标题,也就是html的标签
bgColor:设置页面的背景色
fgColor:设置文本颜色(前景色)
linkColor:未点击过的链接颜色
alinkColor:焦点在此链接上的颜色
vlinkColor:已点击过的链接颜色
URL:设置url属性,从而在同一个窗口打开另一网页
fileCreateDate:文件建立日期,只读属性
fileModifiedDate:文件修改日期,只读属性
fileSize:文件大小,只读属性
cookie:设置和读取cookie
charset:设置字符集

2.document常见的方法
write():动态向页面写入内容
createElement(Tag):创建一个HTML标签对象
getElementById(ID):获得指定id的对象
getElementsByName(Name):获得之前Name的对象
body.appendChild(oTag):向HTML中插入元素对象

二、如何显示/隐藏一个DOM元素?

visibility:visible;
visibility: hidden;
display: block;
display: none;

opacity:0;

position: absolute;
top: -9999px;
left: -9999px;

clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);

三、块级元素(如div)和行内元素(如a、b)都有哪些?

行内元素:a、b、span、img、input、strong、select、label、em、button、textarea

块级元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote

空元素:br、meta、hr、link、input、img

 块级元素的特点:

1.总在新行上开始,占据一整行
2.默认情况下,其宽度自动填满其父元素宽度
3.宽度始终是与浏览器宽度一样,与内容无关
4.它可以容纳内联元素和其他块元素
5.display属性为block

 块级元素的垂直相邻外边距margin会合并。

行内元素的特点:

1.和其他元素都在一行上
2.高,行高及外边距和内边距部分可改变
3.宽度只与内容有关
4.行内元素只能容纳文本或者其他行内元素
5.display属性为inline

水平方向的padding-left、padding-right、margin-left、margin-right都产生边距效果,
但竖直方向的padding-top、padding-bottom、margin-top、margin-bottom却不会产生边距效果。
不可以设置宽高,其宽度随着内容增加,高度随字体大小而改变,内联元素可以设置外边界,
但是外边界不对上下起作用,只能对左右起作用。

空元素的特点:

没有内容的 HTML 内容被称为空元素。空元素是在开始标签中关闭的。

就是没有关闭标签的空元素(
标签定义换行)。 在 XHTML、XML 以及未来版本的 HTML 中,所有元素必须被关闭。 在开始标签中添加斜杠,比如
,是关闭空元素的正确方法,HTML、XHTML 和 XML 都接受这种方式。 即使
在所有浏览器中都是有效的,但使用
其实是更长远的保障。

四、CSS盒子模型都有哪些属性?

面试题_第1张图片
1.png

五、CSS引入的方式有哪些?

1.内联方式
内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS。
示例:
这通常是个很糟糕的书写方式,它只能改变当前标签的样式, 如果想要多个
拥有相同的样式, 你不得不重复地为每个
添加相同的样式。 很显然,内联方式引入 CSS 代码会导致 HTML 代码变得冗长,且使得网页难以维护。 2.嵌入方式 嵌入方式指的是在 HTML 头部中的 嵌入方式的 CSS 只对当前的网页有效。 因为 CSS 代码是在 HTML 文件中,所以会使得代码比较集中,当我们写模板网页时这通常比较有利。 因为查看模板代码的人可以一目了然地查看 HTML 结构和 CSS 样式。 因为嵌入的 CSS 只对当前页面有效,所以当多个页面需要引入相同的 CSS 代码时, 这样写会导致代码冗余,也不利于维护。 3.链接方式 链接方式指的是使用 HTML 头部的 标签引入外部的 CSS 文件。 示例: 这是最常见的也是最推荐的引入 CSS 的方式。 使用这种方式,所有的 CSS 代码只存在于单独的 CSS 文件中, 所以具有良好的可维护性。 并且所有的 CSS 代码只存在于 CSS 文件中,CSS 文件会在第一次加载时引入, 以后切换页面时只需加载 HTML 文件即可。 4.导入方式 导入方式指的是使用 CSS 规则引入外部 CSS 文件。 示例: 两者都是外部引用CSS的方式,但是存在一定的区别: 区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务; @import属于CSS范畴,只能加载CSS。 区别2:link引用CSS时,在页面载入时同时加载; @import需要页面网页完全载入以后加载。 区别3:link是XHTML标签,无兼容问题; @import是在CSS2.1提出的,低版本的浏览器不支持。 区别4:link支持使用Javascript控制DOM去改变样式; 而@import不支持。

六、JavaScript 数据类型

字符串、数字、布尔、数组、对象、Null、Undefined

七、下面代码执行结束后i,j,k分别是什么,为什么?

for (var i=0,j=0; i <10,j<6; i++,j++) {
    k=i+j;
}
console.log(i,j,k);

6 6 10

七、JavaScript 中如何检测一个变量是一个String类型?

typeof

八、解释什么是JS闭包

《高级程序设计》上,这样说:当在函数内部定义了其他函数时候,就创建了闭包。
闭包有权访问包含函数内部的所有变量。
function a(){ 
  var i=0; 
  function b(){ 
     alert(++i); 
  } 
  return b; 
} 
var c = a(); 
c();

九、字符串操作方法

oncat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。 
indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。 
charAt() – 返回指定位置的字符。 
lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。 
match() – 检查一个字符串是否匹配一个正则表达式。 
substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。 
replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。 
search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。 
slice() – 提取字符串的一部分,并返回一个新字符串。 
split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。 
length – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。 
toLowerCase() – 将整个字符串转成小写字母。 
toUpperCase() – 将整个字符串转成大写字母。

十、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

1.  声明位于文档中的最前面的位置,处于    标签之前。
此标签可告知浏览器文档使用哪种  HTML  或  XHTML  规范。
2. 所谓的标准模式是指,浏览器按 W3C 标准解析执行代码;
怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,
所以我们称之为怪异模式。
3.  浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关,
 DTD 声明定义了标准文档的类型(标准模式解析)文档类型,
会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明 , 将使网页进入怪异模式。

十一、对语义化如何理解?

你可能感兴趣的:(面试题)