小程序开发遇到的坑
function 与 => 的区别
在JS中,箭头函数并不是简单的function(){}匿名函数的简写语法糖,实际上,箭头函数和匿名函数有个明显的区别:**箭头函数内部的this是词法作用域,在编写函数时就已经确定了。**而匿名函数的this指向运行时实际调用该方法的对象,无法在编写函数时确定。
箭头函数和普通函数的区别
- 不可以当做构造函数,也就是说,不可以使用 new 命令,否则会抛出错误。
- this、arguments、caller等对象在函数体内都不存在。
- 不可以使用 yield 命令,因此箭头函数不能用作 Generator 函数。
==>箭头函数除了传入的参数之外,其它的对象都没有!在箭头函数引用了this、arguments或者参数之外的变量,那它们一定不是箭头函数本身包含的,而是从父级作用域继承的。
代码实例:
1 | function Test() { |
在箭头函数出现之前一般都是这么写的:
1 | function Test() { |
▲同时需要注意的是:this是指向当前的对象,随着上下文作用域的切换this的执行this的指向会发生改变,我们可以先保存一份this的值然后再使用:var that = this
生成带参数的二维码
1 | onShow:function(){ |
通过草料微信小程序生成二维码:
1 | const app = getApp() |
组件的自定义数据属性:
1 | <view bindtap="f0" data- xxx- yyy='blabla'> |
▲.bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡
wx.requests是异步调用的
wx.requests这个api是不会阻塞的,什么时候收到response就什么时候调用回调函数(success…),如果在wx.requests方法调用后还有运行代码(1),则(1)比回调函数早执行
组件:
以某种方式对 业务逻辑和* *功能**的封装
特点:高内聚,可复用
-
视图组件
-
表单组件
-
媒体组件
-
画布组件
-
基础内容组件
-
导航组件
-
地图组件
-
开放能力组件
自定义组件:
内容略
ES6新特性:
js中let和var定义变量的区别
-
声明后未赋值,表现相同:
- 如果未在 let 、var 语句中初始化您的变量,则将自动为其分配 JavaScript 值 undefined
-
使用未声明的变量,表现不同:
- var有变量提升,let无变量提升
-
重复声明同一个变量时,表现不同:
- var重复声明时覆盖,let重复声明时报错
-
变量作用范围,表现不同:
-
使用 let 语句声明一个变量,该变量的范围限于声明它的块中。
-
==>代码演示:
-
1
2
3
4
5
6
7
8
9
10
11
12(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
{
var varTest = 'varTest changed.';
let letTest = 'letTest changed.';
}
console.log(varTest);
//输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
console.log(letTest);
//输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量
}());
-
Author: Mrli
Link: https://nymrli.top/2018/10/04/小程序开发遇到的坑/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.