====== 1.Mini-App 微信小程序 ======
小程序的主要开发语言是 JavaScript。[[https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%AE%80%E4%BB%8B|[官方文档]小程序简介]]
===== -#1 函数 =====
==== - function(e){} ====
事件函数function(e){}中e,简单来说就是指向了当前发生的事件(click、mouseover等等),保存了当前事件的信息。如鼠标点击事件,有鼠标的坐标信息。[[https://blog.csdn.net/wzj2584454/article/details/78104505|事件函数function(e){}中e的问题]]
其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置在''window.event''对象中,所以兼容低版本的IE要加上这句''e=e||window.event;''
===== -#3 语句 =====
==== - if 判断中出现逗号 ====
if 判断条件 会以 逗号分隔后的两个表达式中的最后一个表达式的结果为准 [[https://www.cnblogs.com/SunXiaoLin/p/5283932.html|if 判断中出现逗号]]
if(1>2,2>3)//false,false
{
alert('1>2,2>3 - true ');
}
else
{
alert('1>2,2>3 - false ');
}
===== -#4 this.data和this.setData{()} =====
[[https://www.jianshu.com/p/4fe2af286f7a|微信小程序之 this.data和this.setData{()}区别]]
* this.setData({})用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。不仅会改变数据,而且还会改变视图。
* this.Data({})会造成页面内容不更新的问题。仅数据会变,视图不会变。
===== -#5 运算符 =====
==== - &&与|| ====
''a&&b'' \\
:如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行; \\
''a||b'' \\
:如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值; \\
&& 优先级高于 ||;[[https://www.cnblogs.com/chenqingwei/archive/2010/05/14/1735174.html|js中的|| 与 &&]]
/**
* 几乎所有语言中||和&&都遵循“短路”原理,
* 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
* js也遵循上述原则。
* 当||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。
* 当&&时,找到为false的分项就停止处理,并返回该分项的值。
**/
var a = "" || null || 3 || 4;//3
alert(a);
var b = 4 && 5 && null && "0";//null
alert(b);
==== - 布尔值与数值比较 ====
[[https://blog.csdn.net/sinat_39571186/article/details/82465172|为什么js中 “3>2>1”为false,“1<2<3”为true?]]