前端问题1

   声明:本站部分内容来自互联网,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

3

前端问题-第一天

  • 1.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度
  • 2.css属性overflow属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。
  • 3.新窗口打开网页,用到以下哪个值()。
  • 4.flash和js通过什么类如何交互?
  • 5.元素的alt和title有什么异同,选出正确的说法?
  • 6.下面有关html5标签说法错误的有?
  • 7.下面有关浏览器中使用js跨域获取数据的描述,说法错误的是?
  • 8.下面这个JS程序的输出是什么:
  • 9.下面符合一个有效的javascript变量定义规则的是?
  • 10.apply方法和call方法
  • 11.下述有关border:none以及border:0的区别,描述错误的是?

1.下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度

  • A.display:inline
  • B.display:none
  • C.display:block
  • D.display:inherit
display属性作用
blockCSS1 块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行 可以定义高度和宽度
noneCSS1 隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间
inlineCSS1 内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行
inline-blockIE5.5 将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内 inherit: 看display默认是不具备继承性的,使用inherit可以让其继承父对象的display属性。

2.css属性overflow属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。

  • 参数是scroll时候,必会出现滚动条。
  • 参数是auto时候,子元素内容大于父元素时出现滚动条。
  • 参数是visible时候,溢出的内容出现在父元素之外。
  • 参数是hidden时候,溢出隐藏。

3.新窗口打开网页,用到以下哪个值()。

描述
_blank在新窗口中打开被链接文档。
_self默认。在相同的框架中打开被链接文档。
_parent在父框架集中打开被链接文档。
_top在整个窗口中打开被链接文档。
framename在指定的框架中打开被链接文档。

4.flash和js通过什么类如何交互?

Flash提供了ExternalInterface接口与JavaScript通信
两个方法:call和addCallback
作用:call让Flash调用js里的方法,addCallback是用来注册flash函数让js调用。

5.元素的alt和title有什么异同,选出正确的说法?

同时设置时,alt是在图片未加载完成的时候做完图片的替代文字线性,title是图片的解释文字
图片加载完成后是看不到alt的

6.下面有关html5标签说法错误的有?

  • 比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容
  • 标签定义菜单列表。当希望列出表单控件时使用该标签
  • 标签定义命令按钮,比如单选按钮、复选框或按钮

标签定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容。
标签定义命令的列表或菜单。 标签用于上下文菜单、工具栏以及用于列出表单控件和命令。 C正确
command 元素表示用户能够调用的命令。 标签可以定义命令按钮,比如单选按钮、复选框或按钮。只有当 command 元素位于 menu 元素内时,该元素才是可见的。否则不会显示这个元素,但是可以用它规定键盘快捷键。 D正确。

7.下面有关浏览器中使用js跨域获取数据的描述,说法错误的是?

  • 域名、端口相同,协议不同,属于相同的域
  • js可以使用jsonp进行跨域
  • 通过修改document.domain来跨子域
  • 使用window.name来进行跨域

只要 协议 、 域名 、 端口 有任何一个 不同, 都被当作是 不同 的域。

8.下面这个JS程序的输出是什么:

function Foo() {var i = 0;return function() {console.log(i++);}
}var f1 = Foo(),f2 = Foo();
f1();
f1();
f2();

0 1 0
(1)Function是引用类型:保存在堆中,变量f1,f2是保存在栈中;
(2)闭包:一个函数(产生新的作用域)定义的局部变量、子函数的作用域在函数内,
但是一旦离开了这个函数,局部变量就无法访问,所有通过返回子函数到一个变量f1的方法,让
f1指向堆中的函数作用域,这样可以使用局部变量i.
(3) 过程:
第一次f1() :f1=Foo()中,先执行Foo(): i = 0,return值返回给f1
(f1指向子函数 f1()=function(){…},因为子函数没有 定义i,所以向上找到父函数定义的 i: )并执行子函数 输出i=0,再自加 i =1(覆盖了父函数Foo 的 i值);
第二次f1() : 执行的是子函数 Function(){ …},输出的是父函数 的 i=1,再自加 i =2;
第一次f2():同第一次f1(),不同的是 f2指向堆中一个新的对象 function(){ …},所有此i非彼i,输出i=0;如果
如果再次f2(),那么和第二次f1(),一样输出i=1;

9.下面符合一个有效的javascript变量定义规则的是?

第一个字符必须是一个字母、下划线(_)或一个美元符号($);其他字符可以是字母、下划线、美元符号或数字。

10.apply方法和call方法

call()方法和apply()方法的作用相同,他们的区别在于接收参数的方式不同。对于call(),第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。(在使用call()方法时,传递给函数的参数必须逐个列举出来。使用apply()时,传递给函数的是参数数组)如下代码做出解释:

function add(c, d){
return this.a + this.b + c + d;
}
var o = {a:1, b:3};
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34

11.下述有关border:none以及border:0的区别,描述错误的是?

  • border:none表示边框样式无
  • border:0表示边框宽度为0
  • 当定义了border:none,即隐藏了边框的显示,实际就是边框宽度为0
  • 当定义边框时,仅设置边框宽度也可以达到显示的效果

C:当定义border:none时,表示无边框样式,浏览器并不会对边框进行渲染,也就没有实际的宽度;
D:定义边框时,除了设置宽度外,还必须设置边框的样式才能显示出来。