头条面经

1.document.getElementByClassName实现

document.getElementsByClassName=function(className){
    let all=document.all;
    return Array.prototype.filter.call(all,(item)=>{
        return item.classList.contains(className);
    });
}

2.bind函数实现

Function.prototype.bind=function(obj,...arg){
    let self=this;
    let res=function(...newArg){
        var total=arg.concat(newArg);
        self.apply(obj,total);
    };
    res.prototype=Object.create(self.prototype);
    return res;
}

3.双向绑定实现

let data={
    name: 'jc'
};
let nameEle=document.getElementById('name');
nameEle.value=data.name;
nameEle.addEventListener('input',function(){
    data.name=this.value;
    console.log(this.value);
});
Object.defineProperty(data,'name',{
    set: function(newValue){
        nameEle.value=newValue;
        return newValue;
    }
});

4.标签问题

  • p里面能放ul吗
    不能,因为li为结构化块状元素,它让文档形成结构,既能包含内容,也能包含其他块级元素,p属于终端块状元素,它下面不能再出现其他块级元素,只能包含内容
    不推荐<li>text<p>text</p></li>

5.兼容处理透明度

  • 使用autoprefix加上浏览器前缀
  • IE下使用filter滤镜
.opacity{
  filter: alpha(opacity=50);   //支持IE
  opacity: 0.5;
}

6.浮点数及其运算

有些小数表示位数是无穷的,无法避免的精度丢失
解决方法是

  • 在判断结果前对计算结果进行精度缩小,精度缩小的过程中会自动四舍五入
  • 在计算前,计算其小数位数,将其转化为整数后进行计算,再将计算结果还原为小数

7.清除浮动原理

  • 设置display: table防止容器和子元素垂直外边距合并,这样和zoom1效果一致
  • IE6/7下触发重布局实现清除浮动

8.元素居中的另类方法

.outer{
      position: relative;
      width: 500px;
      height: 500px;
      background-color: #000;
    }

    .inner{
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100px;
      height: 100px;
      margin: auto;
      background-color: #fff;
    }

9.offsetWidth/clientWidth/scrollWidth

  • offsetWidth 返回值包含content+padding+border,效果与getBoundingClientRect相同
  • clientWidth 只包含content+padding,如果有滚动条,也不包含滚动条
  • scrollWidth 只包含content+padding+溢出内容尺寸

10.readyState取值

  • 0 对象已创建
  • 1 open成功调用,这个状态下,可以设置请求头部,或使用send发送请求
  • 2 调用send方法,但尚未接收到响应
  • 3 已经接收到部分响应数据
  • 4 已接收到全部响应数据

11.不冒泡事件

  • focus和blur不冒泡,focusin和focusout冒泡
  • load不冒泡
  • mouseover和mouseout冒泡,mouseenter和mouseleave不冒泡

12.在CORS中发送cookie

  • 在响应报文中的Access-Control-Allow-Credentials头部设置为true,服务器许可在请求中携带cookie
  • Access-Control-Expose-Headers 客户端可以访问的响应报文头部
  • 另一方面,浏览器需要设置withCredentials属性为true
  • 如果要发送cookie,Access-Control-Allow-Origin不能设置星号,必须指定明确的与请求网页一致的域名

13.简单请求和非简单请求

13.1 简单请求

  • 请求方法
    • HEAD
    • GET
    • POST
  • 头部信息不超出以下字段
    • Accept
    • Accept-Language
  • Content-Type 只限于标准三个值
    对于简单请求,浏览器直接发出CORS请求,在请求头部添加一个Origin字段

13.2 非简单请求

请求方法是PUT或DELETE,或者Content-Type字段类型是application/json
对于非简单请求,在正式通信之前,会增加一次HTTP查询OPTIONS请求,表明自己的来源

  • HEAD请求可以用于测试超链接的有效性

13.3 void运算符

对任何返回都返回undefined,如void(0)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容