1:小程序与普通网页开发的区别?
小程序开发的主要语音是JS。app.json的全局小程序配置,包括了小程序的所有页面路径界面表现,网络超时时间,底部tab等。
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "Weixin",
"navigationBarTextStyle":"black"
}}pages字段—— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。window字段—— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
小程序
2:数组的方法有哪些?
push()添加数据,toString()把数组转化成字符串,join()类似于toString, 同时间他可以规定分隔符,Pop()删除最后一个元素,Splice()数组截取,删除,Concat()合并数组,不会改变原来的,而是返回新的数组
3:JS如何实现继承?
一:类式继承。父构造函数.call(this)。二:原型链继承。子构造函数.prototype = new 父构造函数。调用stopPropagation()阻止事件冒泡、
4:JS的核心概念?
面向对象:面向对象的三大特征就是:继承,多态,封装。
This指向问题??This的指向 问题无疑是js语言中必须掌握的核心概念。This的指向是在函数调用的时候确定的。下面是this指向的四种场景。
一:function text(){ console.log(this); } text();
4:this作用域问题
(1) this总是指向调用它所在方法的对象。
this是在函数生成的时候,自动生成的一个内部对象,只能在函数内部使用。
(2) 全局函数调用
this代表的全局对象window。
(3) 对象方法的调用
如果函数作为对象的方法调用,this指向的是这个上级对象,即调用方法的对象。
(4) 构造函数的调用
构造函数中的this指向新创建的对象本身。
二:对象中的函数,并且这个函数是以对象方法的形式调用,那么this指向的就是调用这个方法的对象。
var obj={age: 20, text: function() {console.log(this); } } obj.text(); // obj对象
三:如果一个构造函数或者类方法里面有this,那么它指向由该函数或者类创建出来的实例对象。
5:移动端兼容性问题。ios的input输入框如何取消首字母大写?
input框 去除ios端输入法首字母大写状态capitalize ----[ˈkæpɪtəlaɪz]。Correct ----[kəˈrekt]<input type="text" autocapitalize="off" autocorrect="off">。。H5新增的三个属性:autocomplete----[kəmˈpliːt]很多时候,需要对客户的资料进行保密,防止浏览器软件或者恶意插件获取到。可以在input中加入autocomplete = "off"来关闭记录,系统需要保密的情况下可以使用此参数。
6:跨域请求??AJax是浏览器用来请求服务器数据的。
核心对象是XMLHTTPRequest,为了防止XSS攻击,浏览器对ajax做了限制,不允许跨域请求服务器。就是只能访问当前域名下的url。
jsonp是一种常用的跨域请求方式。iframe跨域
7:ES6篇章
1: 箭头函数,异步Promise,map对象,forEach,let, const,Object.assign()方法用于对象的合并,import 导入模块,for in循环, for of循环(不能循环json数据)
8:页面性能优化:
减少http请求,资源的合并与压缩,恰当的缓存,不滥用float,雪碧图代替图片,异步加载。减少dom节点,
9: 如何深拷贝?
JQ的extend方法,JSON对象的parse和stringify。Object.assign()进行复制,concat
10:html5的新特性
绘画的canvas元素,video和audio元素,本地离线存储localStorage 和 sessionStorage ,新的特殊内容元素,比如 article、footer、header、nav、section,表单新增了输入类型和验证。同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议。
11:JQUERY选择器有哪些?
CSS 选择器,ID选择器,标签选择器,子选择器(ul>li),后代选择器(li a),伪类选择器(a:hover,li:nth-child)
操作DOM。。append() - 在被选元素的结尾插入内容。。prepend() - 在被选元素的开头插入内容。。after() - 在被选元素之后插入内容。。before() - 在被选元素之前插入内容。。remove() - 删除被选元素(及其子元素)。。empty() - 从被选元素中删除子元素
12: css定位问题?
relative ,相对定位。如果元素添加了relative,设置偏移量,元素会有移动但是所占据的那个位置空间依然还在,也不会挤掉其他的元素。absolute,绝对定位。元素加了绝对定位,在页面中是不占据空间的,他会浮动起来。他会相对于他的父元素定位。fixed相对于浏览器窗口进行定位。
13:CSS3新增伪类举例:
p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。p:last-of-type 。nth-child(2) ,:enabled :disabled 控制表单控件的禁用状态。:checked 单选框或复选框被选中。
14:click的300ms延迟问题
方案一:禁用缩放,<meta name="viewport" content="initial-scale=1,maximum-scale=1">。方案二:安装第三方依赖包。npm install fastclick ---save
15:Input 的placeholder会出现文本位置偏上的情况
PC端设置line-height等于height能够对齐,而移动端仍然是偏上,解决是设置line-height:normal
16:事件委托
把绑定到子元素的事件 委托到父元素上,原理就是事件冒泡。使用事件委托,只需要在其父元素中定义一个事件就可以。 减少事件注册,比如在ul上代理所有li的click事件就非常棒。event.target可以判定当前点击的目标对象
17:BOM
BOM的核心对象是window,对象有以下方法:open close alert setTimeout clearTimeou tsetInterval clearInterval move BymoveTo,focus等等
网友评论