1.如何居中一个浮动元素?
【答案】设置该元素相对定位,left:50%,margin-left:-该元素的宽度(left和margin-left的值可以交换)
2.js产生div标签的三种方法
【答案】①document.createElement("div");
3.项目中使用的mvc框架
我们的项目中没有大量的数据操作,视图操作,也没有api,我们只是完成静态页面的切割,然后加上动态交互效果,就提交给后台开发人员进行开发和添加数据,完了之后我们再看有什么问题,所以其实不太用得到mvc框架,有点小题大作,我觉得像十几个前端一起开发的项目,那需要mvc框架,简化很多dom操作,开发人员可以专心在js的逻辑和业务上面。虽然项目中是没有用到,我自己有稍微了解,像backbone,AngularJS等
4.html和css如何注释
html:<!--注释内容-->
css:/*注释内容*/
5.ie6下为什么无法定义1px左右高度的容器
是因为ie6默认行高造成的
解决办法:overflow:hidden | zoom:0.08 | line-height:1px
相对来说overflow:hidden效果最好
6.flash的wmode属性下有哪几个模式,有什么不同
①window:单独一层,独立于整个页面,在所有其他东西上面,类似漂浮广告
②transparent:透明,flash和他下面的元素通通显示出来
③opaque:不透明,显示当前flash,将他后面的元素遮挡起来
7.清除浮动的几种方法
①.<div style="clear:both"></div>
缺点:增加了无意义的标签
②.父元素添加overflow:hidden;ie6中还需要触发hasLayout,例如zoom:1
缺点:无法显示需要溢出的元素
③.父元素也设置浮动
缺点:跟父元素相邻的元素布局会受到影响
④.给父元素添加clearfix类
.clearfix:after{display:block;height:0;clear:both;visibility:hidden;content:".";}
//触发ie6、7下的hasLayout
.clearfix{*zoom:1;}
8.正则表达式
①中文字符:var re=/[\u4e00-\u9fa5]/g;
②首尾空格:var re=/(^\s+)|(\s+$)/g;
③空行:var re=/^$/;
④url:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
⑤email:^(\w)+(\.\w)*@(\w)+(\.\w+)+)$
任意字母、数字、下划线至少出现一次,而点带上任意字母、数字、下划线可能出现也可能没有@任意字母、数字、下划线至少出现一次,点带上域名至少出现一次,如
abc_wang(.dd)@sina.com(.cn) 括号括起来表示可能出现也可能不出现
⑥mac地址:^([0-9a-fA-F]{2})(([0-9a-fA-F]{2}){5})$
9.position取值
①static:默认值,没有定位,居于文档流正常位置
②relative:相对定位,相对于其正常位置进行定位
③absolute:绝对定位,相对于父容器进行定位
④fixed:绝对定位,相对于浏览器窗口进行定位
⑤inherit:从父元素继承position的值
10.语义化标签的理解
语义化标签就是尽量使用有对应结构含义的html标签
好处:
①结构更好,利于搜索引擎的抓取(seo优化)和开发人员的维护(代码结构更清晰,易于维护)
②利于特殊终端的阅读(像手机等设备无法像电脑浏览器那样来渲染网页,因为这些设备对css支持很弱,使用语义化标签,他就不会一个字母一个字母去拼写,而是根据你的标签来判断网页内容)
11.css哪些属性可以被继承
文本相关属性:font-family, font-size, font-style,font-variant, font-weight, font, letter-spacing,
line-height,text-align, text-indent, text-transform,word-spacing
列表相关属性:
list-style-image, list-style-position,list-style-type, list-style
还有一个属性比较重要,color属性。
12.优化css、js代码
css:
①引用外部css文件
②使用reset但并非全局reset
③良好的命名习惯
④css代码缩写,精简代码量
⑤如果父元素的多个子元素要使用相同的样式,把相同样式写在父元素上,让他们继承这个样式,减少代码量
⑥避免使用css表达式
13.以下两个变量a和b,a+b的哪个结果是NaN?
A、var a=undefind; b=NaN
B、var a= ‘123’; b=NaN
C、var a =undefined , b =NaN
D、var a=NaN , b='undefined'
【解析】字符串和NaN相加,是做字符串拼接操作,所以b和d都是字符串拼接;而NaN和数字或undefined、null相加,输出NaN
【答案】C(A会输出undefind is not defined)
14.下面哪个javascript变量名称不合法
A. string
B. length
C.非法字符
D.this
【解析】变量名称可以是中文,this是关键字
【答案】D
15.以下哪个结果是正确的?( )
var a=100 ,b="100.5a6", c="100.1";
alert(Math.max(a , b ,c));
A.100 B. 100.1 C.NaN D.undefined
【解析】Math.max()返回最大值,可以是整数、小数、正数、负数、0(字符串数字直接转为数字,如"10")
如果有NaN或者非数字类型的参数,返回NaN
如果没有给出任何参数,返回-Infinity
【答案】C
16.下面哪个描述不正确( )
A. NaN!=null B.null!=undefined C.{}!=false D.null!=false
【解析】null和undefined相等但不全等,{}是空对象,true/false是布尔值,两者不等,null同理
【答案】B
17.以下哪个单词不属于javascript保留字:( )
A. with B. instanceof C. base D. void
【答案】C
18.分析代码,得出正确的结果。 var a=10, b=20 , c=30; ++a;
a++;
e=++a+(++b)+(c++)+a++; alert(e);
弹出提示对话框:
【解析】++a、a++不跟其他发生运算关系时,a都自增1
e=12+21+30+13=77
19.阅读以下代码,请分析出结果:
var arr = new Array(1 ,3 ,5); arr[4]='z';
arr2 = arr.reverse(); arr3 = arr.concat(arr2); alert(arr3);
【解析】arr[4]='z';这句话,因为arr[3]没有,所以arr[3]的值为""
arr2 = arr.reverse(); 这句话,虽然arr倒转是赋值给arr2了,但是arr本身也被倒转了
【答案】z,,5,3,1,z,,5,3,1
20.页面跳转的代码
window.location.href=""