框架视图层(三)

wxs

概览

  • 仿js功能
  • 页面渲染


var msg = "hello world";

module.exports.message = msg;


 {{m1.message}} 
输出
hello world
  • 数据处理

wxs模块、

.wxs/都是单一的模块,有自己的作用域,外部访问需要module.exports
  • .wxs文件
// /pages/comm.wxs

var foo = "'hello world' from comm.wxs";
var bar = function(d) {
  return d;
}
module.exports = {
  foo: foo,
  bar: bar
};
  • module 对象
    • 每个wxs都有内置的module对象
    • 通过exports,与外部共享函数内部成员
// /pages/tools.wxs

var foo = "'hello world' from tools.wxs";
var bar = function (d) {
  return d;
}
module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";



 {{tools.msg}} 
 {{tools.bar(tools.FOO)}} 
输出:some msg
'hello world' from tools.wxs
  • require函数
    • 在.wxs模块中引用其他 wxs 文件模块,可以使用 require 函数
    • 只能引用 .wxs 文件模块,且必须使用相对路径。
    • wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。
    • 如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。
// /pages/tools.wxs

var foo = "'hello world' from tools.wxs";
var bar = function (d) {
  return d;
}
module.exports = {
  FOO: foo,
  bar: bar,
};
module.exports.msg = "some msg";
// /pages/logic.wxs

var tools = require("./tools.wxs");

console.log(tools.FOO);
console.log(tools.bar("logic.wxs"));
console.log(tools.msg);




输出:'hello world' from tools.wxs
logic.wxs
some msg
  • 标签

    • module 模块名
    • src 引用的wxs文件,此时标签为单闭合标签或者标签内部无内容
  • module属性

    • 命名方式类php变量声明规则



var some_msg = "hello world";
module.exports = {
    msg : some_msg,
}

 {{foo.msg}} 
  • src属性
    • src 属性可以用来引用其他的 wxs 文件模块。
    • 只能引用 .wxs 文件模块,且必须使用相对路径。
    • 只需载入一次
    • 无引用则不解析
// /pages/index/index.js

Page({
  data: {
    msg: "'hello wrold' from js",
  }
})






 {{some_comms.bar(some_comms.foo)}} 

 {{some_comms.bar(msg)}} 

变量

注释

运算符

  • 基本运算符 (赋值,算术)
var a = 10, b = 20;

// 加法运算
console.log(30 === a + b);
// 减法运算
console.log(-10 === a - b);
// 乘法运算
console.log(200 === a * b);
// 除法运算
console.log(0.5 === a / b);
// 取余运算
console.log(10 === a % b);
加法运算(+)也可以用作字符串的拼接。
var a = '.w' , b = 'xs';

// 字符串拼接
console.log('.wxs' === a + b);
  • 一元运算符
var a = 10, b = 20;

// 自增运算
console.log(10 === a++);
console.log(12 === ++a);
// 自减运算
console.log(12 === a--);
console.log(10 === --a);
// 正值运算
console.log(10 === +a);
// 负值运算
console.log(0-10 === -a);
// 否运算
console.log(-11 === ~a);
// 取反运算
console.log(false === !a);
// delete 运算
console.log(true === delete a.fake);
// void 运算
console.log(undefined === void a);
// typeof 运算
console.log("number" === typeof a);
  • 位运算符
var a = 10, b = 20;

// 左移运算
console.log(80 === (a << 3));
// 无符号右移运算
console.log(2 === (a >> 2));
// 带符号右移运算
console.log(2 === (a >>> 2));
// 与运算
console.log(2 === (a & 3));
// 异或运算
console.log(9 === (a ^ 3));
// 或运算
console.log(11 === (a | 3));
  • 比较运算符
var a = 10, b = 20;

// 小于
console.log(true === (a < b));
// 大于
console.log(false === (a > b));
// 小于等于
console.log(true === (a <= b));
// 大于等于
console.log(false === (a >= b));
  • 等值运算符
var a = 10, b = 20;

// 等号
console.log(false === (a == b));
// 非等号
console.log(true === (a != b));
// 全等号
console.log(false === (a === b));
// 非全等号
console.log(true === (a !== b));
  • 赋值运算符
var a = 10;

a = 10; a *= 10;
console.log(100 === a);
a = 10; a /= 5;
console.log(2 === a);
a = 10; a %= 7;
console.log(3 === a);
a = 10; a += 5;
console.log(15 === a);
a = 10; a -= 11;
console.log(-1 === a);
a = 10; a <<= 10;
console.log(10240 === a);
a = 10; a >>= 2;
console.log(2 === a);
a = 10; a >>>= 2;
console.log(2 === a);
a = 10; a &= 3;
console.log(2 === a);
a = 10; a ^= 3;
console.log(9 === a);
a = 10; a |= 3;
console.log(11 === a);
  • 二元逻辑运算符
var a = 10, b = 20;

// 逻辑与
console.log(20 === (a && b));
// 逻辑或
console.log(10 === (a || b));
  • 其余
var a = 10, b = 20;

//条件运算符
console.log(20 === (a >= 10 ? a + 10 : b + 10));
//逗号运算符,出现逗号只取最后一个变量
console.log(20 === (a, b));

语句

数据类型(属性与方法参考ES5)

  • 概览
    • number : 数值
    • string : 字符串
    • boolean: 布尔值
    • object: 对象
    • function: 函数
    • array: 数组
    • date: 日期
    • regexp: 正则

基础类库(属性与方法参考ES5)

  • Math
  • JSON
  • Number
  • Date
  • Global

你可能感兴趣的:(框架视图层(三))