3
var obj ={a:1,b:function () {alert(this.a)}};
var fun =obj.b;
fun();
运行结果是()
this的行为有时候会显得极其诡异,让人感到困惑,但只需要记住 this的值要等到代码真正执行时才能确定
同时this的值具体有以下几种情况:
- new 调用时指的是被构造的对象
- call、apply调用,指向我们指定的对象
- 对象调用,如执行obj.b(),this指向obj
- 默认的,指向全局变量window(相当于执行window.fun())
这样看来,当你执行fun()的时候,以上1,2点均不满足。
第3点,因为this是运行时确定的,而我们执行fun(),等同于windown.fun()(与obj没有任何关系),自然的this指向window,而window没有定义变量a,结果是undefined。
5关于 BFC (block formatting context),以下说法错误的有:()
解答;
开启BFC(块级格式化上下文):
1.浮动
2.display为 inline-block、table-cell、flex、table-caption或者inline-flex
3.position不为static或relative
4.overflow不为 visible
6下列HTML代码中符合HTML5嵌套规范的是()![6题答案](https://i-blog.csdnimg.cn/blog_migrate/e2e6afc85a8196e9de019377f29818c5.png)
正确答案:C
A:< a > 标签是行内元素,不可以嵌套块级元素 < p >
B: < button > 是行内块元素,可以嵌套行内元素。但是,不推荐嵌套 < a > 元素!!!
在比较多的 UI 库中,都是 < a > 元素嵌套 < button > 元素的。(自己试一下就知道区别了)
C:正确
D:< dl >、< dt > 、< dd > 、< h >这些 标题标签 不推荐嵌套块级元素
7下面那个选项设置web页面的背景颜色?()
解答:body标签的两个属性background和bgcolor,其中background只能写url表示背景图像,bgcolor写背景颜色
Html5不支持,Html4.01已废弃
8以下是行内元素的有()
解答:
1.块级元素
2.行内元素
3.块级元素与行内元素的区别
(1)块级元素会独占一行,其宽度自动填满其父元素宽度;
行内元素不会独占一行,相邻的行内元素会排列在同一行,直至一行排不下才会换行,其宽度随元素的内容而变化。
(2)块级元素可以包含行内元素和块级元素;行内元素不能包含块级元素。
(3)行内元素设置width、height、margin-top、margin-bottom、padding-top、padding-bottom无效。
4. 块级元素与行内元素的转换
display:inline-block;
display:inline;
display:block;
5.可变元素
10下列哪些是HTML5中新增的标签:()
解答:新增header,footer,nav,article,section,aside,datalist,audio,video,embed,input属性