86.简述一下你知道的有哪些ES6的新特性
Let const 结构赋值 箭头函数 字符串模板 class类
类。promise。箭头函数 解构赋值。let const async await
1.箭头操作符(箭头函数)
2.类的支持(class)
3.字符串模板
4.参数结构
5.参数默认值,不定参数,拓展参数
6.let与const 关键字
7.模块
8.Promise
87.说一下什么是块级作用域 , 它有什么作用
块级作用域就是let const,作用就是不会进行变量提升,能解决内存泄漏
Let const
作用:
变量提升
- 块级作用域任意嵌套
- 外层作用域无法读取内层作用域的变量
- 内层作用域可以定义外层作用域的同名变量
- 函数本身的作用域在其所在的块级作用域之内
- 在ES5中,因为没有块级作用域,获得广泛运用的是立即执行函数。现在ES6增加了块级作用域,那么立即执行函数就不再必要了
- 在严格模式下,函数只能在顶级作用域和函数内声明,在if代码块和循环代码块下的声明都会报错。
88.谈谈箭头函数 有什么特点 ()=>{}
1.不能作为构造函数,不能使用new
2.不能使用arguments,取而代之用rest参数解决
3.不绑定this,会捕获其定义时所在的this指向作为自己的this
4.箭头函数没有原型对象
5.与执行时this无关 ,只与定义时的this有关。 箭头函数能够保存this的指向
1、语法简单
2、内置return语句、单行代码返回当前代码的返回值、多行时返回undefined
3、自动绑定this、this为上级的作用域中、也就是定义时所在的作用域中的this
4、没有arguments参数
5、 没有constructor、prototype属性、不能被new
6、以字面量的形式作为对象的属性时、容易发生引用错误
89.class 类 中 super关键字 super 当函数时表示什么?super当对象时表示什么?
当super关键字表示原型对象时,只能用在对象的方法中
当super关键字表示函数时,总是指向函数所在的当前对象
函数时,指向父类的构造器
对象时,指向父类的原型
90.ES6 中你是怎么使用 promise 的 ?
New promise 带2个参数(resolve,reject)执行返回一个成功的回调函数或是一个失败的回调函数。再在返回的函数上直接调用then方法,then接收一个参数,是函数(这个函数是回调函数)
promise是用来实现异步编程的一种解决方案
Promise在生命周期内有三种状态,
分别是
pending(进行中)、
Resolved(已完成,又称 Fulfilled) 或
rejected(已失败)
使用方式:(一个成功的resolve函数, 一个失败的reject函数)
(1)new Promise(function(resolve, reject)
(2)then(resolve,reject)
(3)then(resolve),catch(reject)
promise.then()方法可以让异步变成同步
promise.all()方法可以让所有的异步一起加载且以最消耗时间的准
promise.race()方法可以使所有的竞速
91. 严格模式 有什么 特点 ?
1.严格模式下不可以使用with()
2.严格模式下,变量必须声明
3.严格模式下,this默认是undefined
4.严格模式下,为只读变量和不可扩展对象赋值会报错
5.严格模式下,函数的形参不可以同名
6.严格模式下,不可以使用caller和arguments的属性,会报错
92.混合开发的原理(cordova DCloud 微信JSSDK)
WebViewJavacrriptBridge是移动UIView和Html交互通信的桥梁,实现native code和js 的互相调用的桥梁。
93.混合开发的优缺点
优点
1.一次编译多平台运行
2.开发速度快,不需要了解各个平台的native开发语言也可以开发轻量级移动应用
3.各平台UI表现一致
4.内容更新不需要内容审查
缺点
- 使用体验与native开发有差距
- 前端代码容易被盗取
94.JSSDK 你知道的有哪些 API (SDK JDK)
Wx.createAudioContext(相机)
Wx.createMapContext(地图)
Wx.getExtConfig(第三方平台)
Wx.getShareInfo(获取转发详细信息)
分享到朋友圈 wx.ready(function{ })
图像选择接口 wx.chooseImage({})
获取地理位置接口 wx.getLocation({})
wx.request wx.showtoast. wx.showloading wx.getstoragesync. wx.getuserinfo
Map. Swiper button input scroll-view from image
95.你在实际开发中如何和IOS/Android 程序员进行交互的。
传统开发模式:
一般传统上的开发协作模式有两种:
一种是前端先写一个静态页面,写好后,让后端去套模板。静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可。不足是还需要后端套模板,这些前端代码后端需要浏览一遍,以免出错。
另一种协作模式是,前端直接去写模板,这样做的问题在于,前端编写过程中很依赖与后端环境,如果当后端没写完的情况下,前端几乎没法干活。
从传统到前后端分离:
前后端分离意味着,前后端之间使用 JSON 来交流,两个开发团队之间使用 API 作为契约进行交互。从此,后台选用的技术栈不影响前台。当后台开发人员选择 Java 的时候,我可以不用 JSP 来编写前端页面,继续使用我的 React 又或者 Angular。而我使用 React 时,也不影响后台使用某一个框架。安卓和IOS app也可以使用 JSON 来和后端交流。
当变量还没有赋值的时候,使用变量的时候,会报一个undefined,js是弱语言,会进行变量提升
后台传一个URL给你,将URL传给安卓/iOS,他负责播放
96.微信小程序开发 中 关于 page的生命周期钩子函数 有哪些?
onload onready. onShow,onHide,onUnload
97.微信小程序 如何设置 https 请求 , wx.request 可以使用 POST 请求吗?
买腾讯云域名十几块,服务器一两百
98.微信小程序 你经常使用哪些指令 wx:if wx:for hidden
wx:if. Wx;for hidden
99.微信小程序 绑定事件 bindtap 和 catch 的区别
bindtap. 不会阻止事件冒泡。 catch。阻止事件冒泡
100.web Storage
本地客户端网页存储数据的一种方式 以域名为单位存储数据
操作简单
大小不受限制
不会跟随HTTP 发送给后台
localStorage 永久存储 只要不手动删除就永远存储在本地客户端
sessionStorage 临时存储 只要浏览器关闭或者当页面关闭就会消失
pm
web storage 存储格式 key-value {username;"zzz"}
取数据
localStorage.getItem(key) localStorage.username
存数据
localStorage.setItem(key,value) localStorage.key = value;
删除一条数据
localStorage.removeItem(key) delete localStorage[key]
删除所有数据
localStorage.clear()
遍历web storage
localStorage.key(index) localStorage.length 长度
JSON.stringify
把一个对象转换成JSON格式的数据串
JSON.parse
将数据解析成对象,返回解析后的对象