我艰苦的春招之路(笔试6)

今天笔试某动游戏公司
先说下考点先

1. 盒子模型

MDN对盒子模型的描述
每个盒子具有四个边界

  • 内容边界content
  • 内边距边界padding
  • 边框边界boder
  • 外边框边界margin

2. CSS优先级

MDN关于CSS优先级
选择器类型的优先级是递增的。
一直没搞懂什么是内联样式,外联样式,现在一次性弄懂吧。

内联样式

style="font-weight:bold"

总会覆盖外部样式表的任何样式 ,因此可看作是具有最高的优先级。.

外联样式

使用外部 CSS 文件。

嵌套样式

在HTML文档头部 区域使用

概括

内联>外联>嵌套

3. li之间的空白

这题翻查一下资料发现自己错第二次了感觉不应该啊

原因

浏览器的默认行为是把inline元素间的空白字符(空格换行tab)渲染成一个空格

解决办法

  • 浮动
  • 改成同一行
  • letter-spacing,父子元素皆要设置

4. 清除浮动

老生常谈的问题:

  • 伪类元素、空元素加clear:both
  • 父元素伪类元素zoom:1
  • 父元素定高度
  • 父元素overflow:hidden
  • 父元素跟着浮动
  • 父元素overflow:auto
  • 父元素display:table
    之前没记住这么多啊,今晚睡觉前记一记吧

5. 深克隆对象

这是网上搜到挺有意思的方法
下方代码来源

var clone = function(obj){
    if(obj === null) return null;
    if(obj.constructor !== 'object') return obj;
    if(obj.constructor === Date) return new Date(obj);
    if(obj.constructor === RegExp) return new RegExp(obj);
    var newObj = new obj.constructor(); //保持继承的原型
    for(var key in obj){
        if(obj.hasOwnProperty(key)){
            var val = obj[key];
            newObj[key] = typeof val === 'object' ? arguments.callee(val):val;
        }
    }
    return newObj;
}

这里主要是考虑了null,object之类的如何处理,因为经过Parse和Stringify之后会忽略掉这些。

7. 跨域

这个在上次CVTE的时候背下来的…
具体实现的话就jsonp可能比较熟悉了

1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

8. 前端性能优化

这个就很多方法了,我感觉写得还是不够多

  • 减少http请求
  • 合理缓存
  • 压缩合并资源
  • CSS雪碧图
  • 懒加载
  • 等等等

考输出结果的

function Foo(){
	getName = function(){console.log(1)};
	return this;
}
Foo.getName = function (){console.log(2)}
var getName = function(){console.log(4)}
function getName(){console.log(5)}

 - Foo.getName() 
 - getName() 
 - Foo().getName() 
 - getName() 
 - new Foo.getName()

每次做这种题都很慌,总想着找一堆题来做来训练加深理解。

function a(xx){
	this.x = xx;
	return this;
}
var x = a(5);
var y = a(6);

 - console.log(x.x); 
 - console.log(y.x);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值