全面掌握墨刀函数:高保真交互原型必备手册

218 阅读7分钟

在高保真动态原型设计中,仅靠页面跳转和基础交互已无法满足真实场景的验证需求。函数功能可以帮助你的原型像真实产品一样处理数据、响应操作。本文将从函数分类、使用说明实操案例拆解,带你全面解锁“墨刀函数”的操作技能。

一、函数分类

墨刀内置了丰富的函数功能,根据用途可划分为以下几大类:

1. 字符串函数

用于对字符串内容进行检索、替换、大小写转换等操作,满足输入校验、动态展示等场景需求。例如:实时统计字数、判断前缀后缀、批量替换字符等。

2. 数学运算

支持常见的取整、大小、随机数等功能,可用于处理数值计算、进度展示、随机数生成等场景。例如:动态计算折扣价、进度条比例、随机生成验证码等。

3. 时间和日期

提供对日期的读取与设置,包括获取年、月、日、时、分、秒等,以及时区换算与本地化格式输出等。

4. 系统变量

除了以上常见的函数公式,对一些系统参数也提供了一些变量可以调用,例如鼠标指针位置、演示视口高度宽度等。

用户可以在交互设置中,直接选择使用,其预置的函数公式鼠标选中状态下,会显示该公式的释义,方便用户分辨和选择适合的函数公式。

二、函数使用说明

1. 文本处理

字符串.length():返回字符串的字符数量。无参数。

字符串.charAt(索引):返回字符串中指定索引位置的字符。索引为数字类型。

字符串.charCodeAt(索引):返回指定索引位置字符的Unicode编码。索引为数字类型。

字符串1.concat(字符串2):连接两个字符串,返回新字符串。字符串2为需连接的字符串。

字符串.endsWith(子字符串, 长度[可选]):检查字符串是否以指定子字符串结尾,返回布尔值。长度可选。

字符串.includes(子字符串, 起始索引[可选]):检查字符串是否包含子字符串,返回布尔值。起始索引可选。

字符串.indexOf(子字符串, 起始索引[可选]):返回子字符串首次出现的索引,未找到返回-1。起始索引可选。

字符串.lastIndexOf(子字符串, 起始索引[可选]):返回子字符串最后一次出现的索引,未找到返回-1。起始索引可选。

字符串.padEnd(目标长度, 填充值[可选]):在字符串末尾填充字符直至目标长度,返回新字符串。填充值可选。

字符串.padStart(目标长度, 填充值[可选]):在字符串开头填充字符直至目标长度,返回新字符串。填充值可选。

字符串.repeat(次数):返回原字符串重复指定次数的新字符串。次数为数字类型。

字符串.replace(子字符串, 替换值):替换第一个匹配的子字符串,返回新字符串。

字符串.replaceAll(子字符串, 替换值):替换所有匹配的子字符串,返回新字符串。

字符串.slice(开始索引, 结束索引[可选]):提取从开始索引到结束索引(不含)的子字符串。结束索引可选。

字符串.startsWith(子字符串, 起始索引[可选]):检查字符串是否以子字符串开头,返回布尔值。起始索引可选。

字符串.substring(开始索引, 结束索引[可选]):提取两索引之间的子字符串(不含结束索引)。结束索引可选。

字符串.toLowerCase():将字符串转换为小写形式。

字符串.toUpperCase():将字符串转换为大写形式。

字符串.trim():去除字符串两端空白字符。

字符串.trimStart():去除开头的空白字符。

字符串.trimEnd():去除末尾的空白字符。

2. 数字处理

数字.toExponential(小数位数[可选]):将数字转换为指数计数法字符串。小数位数可选。

数字.toFixed(小数位数[可选]):将数字四舍五入到指定小数位数,返回字符串。小数位数可选。

数字.toPrecision(有效位数[可选]):将数字格式化为指定有效位数,返回字符串。有效位数可选。

3. 数学运算

Math.abs(数字):返回数字的绝对值。

Math.acos(数字):返回数字的反余弦值(弧度)。

Math.asin(数字):返回数字的反正弦值(弧度)。

Math.atan(数字):返回数字的反正切值(弧度)。

Math.atan2(数字y, 数字x):返回点(x, y)相对于x轴的角度(弧度)。

Math.ceil(数字):向上取整,返回最小的大于或等于该数的整数。

Math.cos(数字):返回弧度值的余弦值。

Math.exp(数字):返回e的指定次幂(e^数字)。

Math.floor(数字):向下取整,返回最大的小于或等于该数的整数。

Math.log(数字):返回数字的自然对数(底为e)。

Math.max(数字1, 数字2, ...):返回一组数字的最大值。

Math.min(数字1, 数字2, ...):返回一组数字的最小值。

Math.pow(基数, 指数):返回基数的指数次幂(基数^指数)。

Math.random():返回[0, 1)区间的随机小数。

Math.round(数字):返回四舍五入后的整数。

Math.sqrt(数字):返回数字的平方根。

Math.sign(数字):返回数字的符号(1、-1或0)。

Math.sin(数字):返回弧度值的正弦值。

Math.tan(数字):返回弧度值的正切值。

4. 时间和日期

$date.getDate():返回日期对象的日期(1-31)。

$date.getDay():返回星期几(0为周日,6为周六)。

$date.getFullYear():返回四位数年份。

$date.getHours():返回小时数(0-23)。

$date.getMilliseconds():返回毫秒数(0-999)。

$date.getMinutes():返回分钟数(0-59)。

$date.getMonth():返回月份(0为1月,11为12月)。

$date.getSeconds():返回秒数(0-59)。

$date.getTime():返回自Unix时间以来的毫秒数。

$date.getTimezoneOffset():返回当前时区与UTC的分钟差。

$date.getUTCDate():返回UTC日期(1-31)。

$date.getUTCDay():返回UTC星期几(0为周日,6为周六)。

$date.getUTCFullYear():返回UTC四位数年份。

$date.getUTCHours():返回UTC小时数(0-23)。

$date.getUTCMilliseconds():返回UTC毫秒数(0-999)。

$date.getUTCMinutes():返回UTC分钟数(0-59)。

$date.getUTCMonth():返回UTC月份(0-11)。

$date.getUTCSeconds():返回UTC秒数(0-59)。

$date.setDate(日期):设置日期对象的日期部分(1-31)。

$date.setFullYear(年, 月[可选], 日[可选]):设置年份,可选同时设置月份和日期。

$date.setHours(小时, 分[可选], 秒[可选], 毫秒[可选]):设置小时,可选同时设置更小单位。

$date.setMilliseconds(毫秒):设置毫秒部分。

$date.setMinutes(分, 秒[可选], 毫秒[可选]):设置分钟,可选同时设置秒和毫秒。

$date.setMonth(月, 日[可选]):设置月份,可选同时设置日期。

$date.setSeconds(秒, 毫秒[可选]):设置秒,可选同时设置毫秒。

$date.setTime(毫秒数):通过Unix时间戳设置日期对象。

$date.setUTCDate(日期):设置UTC日期部分。

$date.setUTCFullYear(年, 月[可选], 日[可选]):设置UTC年份,可选同时设置月份和日期。

$date.setUTCHours(小时, 分[可选], 秒[可选], 毫秒[可选]):设置UTC小时,可选更小单位。

$date.setUTCMilliseconds(毫秒):设置UTC毫秒。

$date.setUTCMinutes(分, 秒[可选], 毫秒[可选]):设置UTC分钟,可选秒和毫秒。

$date.setUTCMonth(月, 日[可选]):设置UTC月份,可选日期。

$date.setUTCSeconds(秒, 毫秒[可选]):设置UTC秒,可选毫秒。

$date.toDateString():返回日期部分的易读字符串(如"Fri Oct 13 2023")。

$date.toISOString():返回ISO标准格式的字符串(如"2023-10-13T15:00:00.000Z")。

$date.toJSON():等效于toISOString()。

$date.toLocaleDateString(本地化设置[可选]):根据本地化设置返回日期部分的字符串。

$date.toLocaleString(本地化设置[可选]):返回完整本地化日期和时间字符串。

$date.toLocaleTimeString(本地化设置[可选]):返回本地化时间部分的字符串。

$date.toString():返回日期对象的字符串表示。

$date.toTimeString():返回时间部分的字符串(如"10:00:00 GMT+0800")。

$date.toUTCString():返回UTC时间的字符串表示。

5. 预置变量

$mouseX:返回鼠标在视口的X轴坐标(数字类型)。

$mouseY:返回鼠标在视口的Y轴坐标(数字类型)。

$pi:返回圆周率π(数字类型)。

$deviceHeight:返回当前视口的高度(数字类型)。

$deviceWidth:返回当前视口的宽度(数字类型)。

三、函数应用案例

案例场景:以某APP「提交客户线索」表单页面为例,要求“客户姓名”与“手机号码”为必填项,不能为空且手机号位数为11位,才可以成功提交线索跳转页面。通过墨刀函数公式加上条件逻辑,即可在原型演示阶段模拟真实填写校验。

具体实操步骤如下:

  1. 为“提交线索”按钮添加交互,触发方式为单击;

  2. 设置条件判断:如果“客户姓名输入框.length>0 && 手机号码输入框.length==11”;(图中选中输入框组件内容属性,可直接套用在函数公式中)

  3. 添加交互行为:(满足以上条件)跳转提交成功页面(条件不满足时可另行配置)。

此案例使用了**字符串.length()**的公式,使姓名非空&手机号11位→跳转成功页面,符合此表单填写的要求。

总结

本文从函数分类、详细用法到实战案例,全面拆解了墨刀函数在高保真交互原型中的应用方法。灵活运用字符串、数学、时间函数及系统变量,再结合条件判断和交互动作配置,就能快速制作出交互丰富、逻辑严谨的原型页面!