1.inline和block元素分别有哪些?区别是什么?

inline:内联元素,

a span strong em input select label img br teatarea

block:块状元素

p div ol li br

区别:

内联元素:

     1.设置width和height无效

     2.不能单独占一行,元素不会独占一行,其宽度随元素的内容而变化

     3.padding和margin属性,padding-top,padding-bottom,margin-top,margin-bottom不产生边距,padding-left,padding-right,margin-left,margin-right产生边距

块状元素:1.可以设置width和height

     2.单独占一行

     3.元素不会独占一行,其宽度随元素的内容而变化

2.请解释relative、fixed、absolute和static元素的区别

fixed:相对定位,相对于浏览器定位

static:静态定位,默认,不定位,存在文本流中

absolute:绝对定位,相对于除了fixed的第一个父元素定位,脱离文本流中,在文本流中不存在位置

relaticve:相对定位, 脱离文本流,在文本流中存在位置

3.清除浮动方法

1.clear

  clear:{clear:both;}

  2.伪元素 :after

  clearfix:after:{display:block;conteng:"";clear:both},兼容IE,.clearfix{zoom:1}

  3.给父元素加高

  4.overflow:hidden

4.请描述cookies、sessionStorage和localStorage的区别

共同点:都是保存在浏览器端,且同源的。

区别:

  1. cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
  2. 存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
  3. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
  4. 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。
  5. WebStorage 支持事件通知机制,可以将数据更新的通知发送给监听者。
  6. WebStorage的 api 接口使用更方便。

好处

  1. 快速显示数据:性能好,从本地读数据比通过网络从服务器获得数据快得多,本地数据可以即时获得。再加上网页本身也可以有缓存,因此整个页面和数据都在本地的话,可以立即显示。
  2. 临时存储:很多时候数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,这种情况使用sessionStorage非常方便。
  3. 减少网络流量:一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少数据在浏览器和服务器间不必要地来回传递。

5.

下面代码的输出是什么?

console.log('one');

setTimeout(function() {

  console.log('two');

}, 0);

console.log('three');

//one
//three
/ two

6..call和.apply的区别是什么

call方法可以用来代替另一个对象调用一个方法。call方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。
如果没有提供thisObj参数,那么Global对象被用作thisObj。

apply方法:
语法:apply(thisObj,[argArray])
定义:应用某一对象的一个方法,用另一个对象替换当前对象。
说明:
如果argArray不是一个有效的数组或者不是arguments对象,那么将导致一个TypeError。
如果没有提供argArray和thisObj任何一个参数,那么Global对象将被用作thisObj,并且无法被传递任何参数。

7.如何判断一个对象是否是Array类型

1.通过toString()方法,数组原型和对象原型定义的toString()方法不同

var arr = [1, 2, 3];

        var obj = {

            name: 'lyl',

            age: 18,

            1: 'name'

        }

        console.log(Object.prototype.toString.call(arr) === '[object Array]'); //true

        console.log(Object.prototype.toString.call(boj) === '[object Array]'); //false

2.通过instanceof来判断区分

 var arr = [1, 2, 3];

        var obj = {

            name: 'lyl',

            age: 18,

            1: 'name'

        }

        console.log(arr instanceof Array); //true

        console.log(obj instanceof Array); //false

3.通过length属性:

8.如何优化触发频率非常高的事件函数例如onscroll,oninput

http://www.qdfuns.com/notes/24933/53e06974b608ea30691fba9d8295fabb.html

9.如何克隆一个数组

第一种:用ary.slice(0)

var ary = [1,2,3];//源数组

var ary2 = ary.slice(0);//克隆一个新数组

console.log(ary2); 

第二种:push

var cc=[1,3,2]

vara=[]

for(vari=0;i<cc.length;i++){

a.push(cc[i])

}

第三种
var newJson = json.concat();

10.javascript,es5,es6的区别

11.bootsrtap的优点

12.html5优点

13.flex布局优点,

14.eval是做什么的?

解析运行字符串

15.求y和z的值

<script>

var x=1;var y=0;var z=0;
function add(n){
n=n+1;
}
y=add(x)
function add(n){
n=n+1;
}

z=add(x)

</script>

//y和z都是number

16.js的三种主要类型,2种复合数据类型

Boolean,String,Number Object,Null

16.1.js原型,原型链是什么?优点是什么

原型:每个对象都有自己的属性(property),当访问一个对象的属性时,当前对象没有这个属性,就会继续往peoperty的原型上面找,直到找到object

优点:js 对象是通过引用传递的,创建的实例并没有自己的原型副本,我们修改原型时,与之相关的对象也会继承这一改变。

17.ajax的过程是怎么样的?

ajax是一种创建交互式网页应用的网页开发技术;

原理:在客户和服务器之间建立一个ajax引擎,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

首先得了解什么是异步和同步的概念。

举个例子:比如你去图书馆借某种书,可惜图书馆此书被借完。这时可以采用两种做法。

第一种做法:在图书馆一直等待,直到有人还书,然后再去吃饭睡觉。

第二种做法:直接跟图书馆管理员约定,若是有人还书,直接通知你。你则该忙什么忙什么。到时候会通知你。

而第一种做法就是同步的表现,必须等待别人还书(等待服务器返回信息)才进行其他事情,至死方休。

而第二种做法就是异步的表现,不耽误时间,合理利用时间高效率做事。

遇到这种情况,你会采用那种办法呢?

选择第一种,哈哈,说明你太执着啦;选择第二种,说明你灵活变通,合理安排自己的人生。你自己看着办吧。

好处是:不用页面刷新,并且在等待页面传输数据的同时可以进行其他操作。

18.get和post的区别

get:快,不安全,数据量小 post:相反

19.innerHTML,innerText,outerHTML,outerText的区别

innerHTML:获取标签内的html,

outerHTML:获取标签和标签内的htm

outerText和innerText都是获取标签内的文本

20.解释js的同源策略,为什么有同源限制?

跨域是指  不同域名之间相互访问 
这里的同源指的是:同协议,同域名和同端口,防止跨域请求
防止黑客侵入;百度阿里的数据让你乱搞

21.跨域问题是如何产生的?有哪几种解决方案?

不同协议,不同域名,不同端口

document.domain + iframe ;动态创建script;jsonp;document.main;location hash+iframe;web sockets;cors;postMessage;window.name + iframe

22.写出js对象的深度克隆的方法

23.cookie的弊端?使用cookie要注意什么?

24.用js编写创建、读取、删除cookie的操作

优质内容筛选与推荐>>
1、如何成为一名无人驾驶工程师
2、解决springsecurity自定义filter重复执行问题
3、rocketmq自启动配置
4、基于树莓派和Tensowflow的物体识别-brain
5、Java中net.sf.json包关于JSON与对象互转的坑


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn