codecamp

支付宝小程序框架 SJS·esnext

SJS 支持部分 ES6 语法。

let & const

function test(){
  let a = 5;
  if (true) {
    let b = 6;
  }
  console.log(a); // 5
  console.log(b); // 引用错误:b 未定义
}

箭头函数

const a = [1,2,3];
const double = x => x * 2; // 箭头函数
console.log(a.map(double));


var bob = {
  _name: "Bob",
  _friends: [],
  printFriends() {
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
  }
};
console.log(bob.printFriends());

更简洁的对象字面量(enhanced object literal)

var handler = 1;
var obj = {
  handler, // 对象属性
  toString() { // 对象方法
    return "string";
  },
};

注意: 不支持 super 关键字,不能在对象方法中使用 super。

模板字符串(template string)

const h = 'hello';
const msg = `${h} alipay`;

解构赋值(Destructuring)

// array 解构赋值
var [a, ,b] = [1,2,3];
a === 1;
b === 3;
// 对象解构赋值
var { op: a, lhs: { op: b }, rhs: c }
       = getASTNode();
// 对象解构赋值简写
var {op, lhs, rhs} = getASTNode();
// 函数参数解构赋值
function g({name: x}) {
  console.log(x);
}
g({name: 5});
// 解构赋值默认值
var [a = 1] = [];
a === 1;
// 函数参数:解构赋值 + 默认值
function r({x, y, w = 10, h = 10}) {
  return x + y + w + h;
}
r({x:1, y:2}) === 23;

Default + Rest + Spread

// 函数参数默认值
function f(x, y=12) {
  // 如果不给y传值,或者传值为undefied,则y的值为12
  return x + y;
}
f(3) == 15;


function f(x, ...y) {
  // y 是一个数组
  return x * y.length;
}
f(3, "hello", true) == 6;
function f(x, y, z) {
  return x + y + z;
}
f(...[1,2,3]) == 6; // 数组解构
const [a, ...b] = [1,2,3]; // 数组解构赋值, b = [2, 3]
const {c, ...other} = {c: 1, d: 2, e: 3}; // 对象解构赋值, other = {d: 2, e: 3}
const d = {...other}; // 对象解构
支付宝小程序框架 SJS·基础类库
支付宝小程序框架 ACSS·语法参考
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }