面经1
来源:互联网 发布:99.9%软件 编辑:程序博客网 时间:2024/06/03 15:37
KJZY
- 1.CSS实现盒子上下左右居中
方法1:body{ margin:0; padding:0; width:100%; height:100%;}div{ position:absolute; top:50%; left:50%; width:200px; height:200px; margin:-100px 0 0 -100px;}方法2:<div id="wrapper"> <div id="box"></div></div>#box{width:100px;height:100px;}#wrapper{display:flex;justify-content:center;align-items:center;}
- 2.数组的方法
- push() 末尾增加一项
- pop() 末尾删除一项
- unshift()开头增加一项
- shift() 开头删除一项
- slice()截取(包前不包后)
- splice()截取(包前不包后)
- reverse()翻转
- join()分隔符将每项拼接成字符串
- sort()排序
- toString()转为字符串
- 3.字符串的方法
- charAt()通过索引找对应的字符串
- charCodeAt()找到索引对应字符的Unicode编码
- substr()截取-包前不包后
- slice()截取–支持负值
- toUperCase()转大写
- toLowerCase()转小写
- indexof()通过字符找第一次出现的索引的位置
- lastIndexOf()找最后一个出现的索引的位置
- search()查找
- match()捕获(找到返回索引及详细信息,找不到返回-1)
- replace()替换
- split()分隔
4.ajax实现跨域
- (1)jsonp
假设 在http://www.aaa.com/index.php这个页面中向http://www.bbb.com/getinfo.php提交GET请求,那么我们在www.aaa.com页面中添加如下代码: var eleScript=document.createElement('script'); eleScript.type='text/javascript'; eleScript.src='http://www.bbb.com/geinfo.php' document.getElementByTagName('HEAD')[0].appendChild(eleScript)
- (2)XHR2
XHR2-->XMLHttpRequest Level2 HTML5提供的方法支持IE10以上在服务器端头部加上以下代码header('Access-Contrl-Allow-Origin:*');header('Access-Control-Allow-Mathods:POST,GET')
- ajax中实现jsonp
$.ajax({ type:'get', url:url, dataType:'jsonp', 'jsonp':'callback', success:function(data){ $.each(data,function(key,val){ $("#myDiv").html($("#myDiv").html()+val.cvalue+"</br>"); }) }
- 5.node(关于单线程与高并发,并没有很好的理解,以下内容是百度的,希望能得到更易懂解释)
- node是单线程吗?—》是的
- node是单线程为什么可以处理高并发?
- nodejs的I/O操作,底层开启了多线程,当同时又多个I/O请求时,主线程会创建多个eio线程,以提高IO请求的处理(虽然I/O开启了多线程,但所有的线程都是基于主线程开启的只能跑在一个进程中,不能充分地利用CPU资源-》pm2进程管理器可以解决)
- node的 优点
- 快(基于V8引擎的渲染)
- 无阻塞的I/O操作
- 基于事件的单线程异步操作
- node的缺点:
- CPU密集型(不能很好的利用CPU)
- 解决方法
- 写独立的C代码
- 使用nodejs自带的cluster模块
- 使用其他开源项目(如:threads-a-gogo)
- 6.Vue的生命周期
- 1>beforeCreate 创建前
- 2>created 创建后
- 3>beforeMount 载入前
- 4>mounted 载入后
- 5>beforeUpdated 更新前
- 6>updated 更新后
- 7>beforeDestroy 销毁前
- 8>destroyed 销毁后