面试3

放个假,就断了。习惯,坚持才能成自然。

**1.移动端你是怎么布局的?**

首先移动端网页需要加入viewport <meta name="viewport" content="width=device-width,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

一、

1>百分比自适应。将长度单位转换为百分比来表示

2>rem,em自适应。用媒体查询的方法,确定在不同屏幕宽度下,改变fontsize,再用rem,em替代px作为单位实现自适应。

3>用js获取屏幕宽度后,按照固定比例缩小后作为rem的单位长度实现自适应

Zepto(function($){

var win = window, doc = document;

function setFontSize() {

var winWidth = $(window).width();

// 640宽度以上进行限制

var size = (winWidth / 640) * 100;

doc.documentElement.style.fontSize = (size < 100 ? size : 100) + 'px' ; };

//防止在html未加载完毕时执行,保证获取正确的页宽

setTimeout(function(){

// 初始化

setFontSize();

}, 200);});

二、利用bootastrap框架进行栅格布局

在不同的宽度区间内(响应式断点)提供宽度限制。当宽度变化时,采用不同的样式和布局。


**2.说说面向对象里的继承、原型链、作用域**

继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。另外,为子类追加新的属性和方法也是常见的做法。

原型对象也是普通的对象,是对象一个自带隐式的 __proto__ 属性,原型也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链。原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。

最外层函数和在最外层函数外的变量拥有全局作用域,所有没有声明变量都自动声明拥有全局作用域,局部作用域只作用某些代码段内,只在内部可用。

在JavaScript中,函数也是对象,实际上,JavaScript里一切都是对象。函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中一个内部属性是[[Scope]],由ECMA-262标准第三版定义,该内部属性包含了函数被创建的作用域中对象的集合,这个集合被称为函数的作用域链,它决定了哪些数据能被函数访问。


**3.有没有封装过框架,在什么地方封装的?举个例子**

原理就是给jq的原型添加功能函数。例如ajax封装


**4.你知道jQuery里的ajax封装原理吗?**

function ajax(url, param, type) {

// 利用了jquery延迟对象回调的方式对ajax封装,使用done(),fail(),always()等方法进行链式回调操作 // 如果需要的参数更多,比如有跨域dataType需要设置为'jsonp'等等,可以考虑参数设置为对象

return $.ajax({

url: url,

data: param || {},

type: type || 'GET'

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值