最近正忙于前端的应聘,在网络上搜集了一些问题,顺便结合网络答案,自己也整理了一部分,如有纰漏,还望批评指正。
1、请写出至少三个CSS3中新添加的样式属性的名字;
(1)增强的文本属性:text-shadow(CSS2.1中已定义,但CSS3中又重新定义并增加了不透明度效果)、text-overflow、word-wrap;
(2)新增的盒模型属性:box-align、box-direction、box-flex、box-flex-group、box-lines、box-orient、box-pack;
(3)border-top-color/border-right-color/border-bottom-color/border-left-color/border-image/border-radius
(4)overflow-x/overflow-y/box-sizing/resize/nav-index/transform等等
ps:由于一开始就学的CSS3,所以对于那些是CSS3中那些是新添加的,有点模糊。自己看了下,就不一一列举了。
2、JavaScript包括哪些数据类型?
第一种:javascript中包含6种数据类型:undefined、null、string、number、boolean和object。其中,前5 种是原始数据类型,object是对象类型。
object类型中包括Object、Function、String、Number、Boolean、Array、Regexp、Date、 Globel、Math、Error,以及宿主环境提供的object类型。
第二种:九种类型:1、未定义undefined 2、空null 3、布尔boolean 4、字符串string 5、数字number 6、对象object 7、引用reference 8、列表list 9、完成completion 后三种类型是javascript运行时的中间结果的数据类型,在代码中不能使用。
3、使用JavaScript深度克隆一个对象?
深度克隆:所有元素或属性均完全克隆,并于原引用类型完全独立,即,在后面修改对象的属性的时候,原对象不会被修改。
function clone(jsonObj) {
var buf;
if (jsonObj instanceof Array) {
buf = [];
var i = jsonObj.length;
while (i--) {
buf[i] = clone(jsonObj[i]);
}
return buf;
}else if (jsonObj instanceof Object){
buf = {};
for (var k in jsonObj) {
buf[k] = clone(jsonObj[k]);
}
return buf;
}else{
return jsonObj;
}
}