以前使用Axure只是停留在元件的布局和简单交互事件的设置,使用得非常肤浅,直到现在有时间静下心来重学Axure,才发现函数和变量的牛逼之处。

以前在做较复杂交互时,为了实现一个效果吭哧吭哧写了一串命令,而往往函数和变量一两行就搞定了。众所周知我们写的命令越多,相互之间冲突的可能性越大,出错越多,而且排查起来耗时耗力,尤其是在我们制作高保真原型做可行性测试的时候。这时使用函数和变量写交互命令的威力就体现出来了,简单的命令就能能制作逼真的复杂交互效果。

其实函数和变量没有我们想象的那么难。变量的本质就是:数值的获取和使用

函数的本质就是:数值的处理(处理各种计算来达到想要的交互效果)

今天重点讲下变量

变量可以分成两大类:系统变量和自定义变量,而自定义变量里面又包括全局变量和局部变量。

系统变量,全局变量,局部变量三者功能各不相同。系统变量:是系统已经创建好的变量,用于直接获取对象的特定属性值。

全局变量:主要是用于不同页面之间值的传递。

局部变量:主要是用于指定页面内某个特定对象,往往和系统变量配合使用。

系统变量在哪儿?其实就包含在函数里面,函数公式一共包括两部分:函数和系统变量。现在我们来一一认清他们。

这是元件的系统变量,this和target是用于指定对象,x,y,width,height等是用于对象的属性

这也是系统变量,分别是页面,窗口,鼠标指针的系统变量,页面,窗口,鼠标指针是对象,pagename,window.width,cursor.x等是对象属性

这些则是函数

这些也是函数

看到区别没,变量是直接去获取某个对象的某个属性数值,不涉及数值的处理,只是简单粗暴地读取出来;而函数涉及数值的处理加工(函数处理的对象一定要是一个数值)。

如果还不能理解的话,就直接把带括号的看成函数,没有括号的看成变量就行。

全局变量在哪儿?

[项目]→[全局变量]

全局变量的创建其实就是创建一个名称而已

局部变量在哪儿?

只要点击fx就能找到他

其实局部变量的创建只是指定一个该页面内的对象,然后命好名

变量命名需要遵循以下原则:

• 变量名称必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成。

• 变量名称的长度不得超过25个字符。

• 变量名称在有效的范围内必须是唯一的。有效的范围就是引用变量可以被程序识别、使用的作用范围。

• 变量名称不能是系统中的保留关键字,即不能与系统变量名称相同。例如:name、text、this等等。

那么他们有何区别?又该如何使用呢?这就要从变量的本质来说了。

变量的本质是数值的获取和使用。

数值?什么是数值?数值就是某个对象的某个属性值。比如:[[this.width]]这个元件的宽度值,[[target.x]]目标元件的x坐标值。

所以很明显变量获取使用数值就涉及到两个因素:对象和属性。

首先来说对象,系统变量里面有,如:this,target,页面,窗口,鼠标指针等;

全局变量也是对象,但对象一直在变,因为全局变量的作用是不同页面之间值的传递,是一个中间人的角色;

局部变量也是对象,但非常专一,对象是确定的。

再来说属性,属性只有系统变量中有,width是宽度,height是高度、opacity是透明度、length是长度

系统变量中的元件属性

所以当我们在应用的时候书写格式为[[对象.属性]],如:[[This.text]]这个元件中的文本。

现在我们理解了对象和属性,那就很好理解系统变量,全局变量和局部变量之间的区别了。系统变量拥有属性这个特权,但他的对象覆盖不全面,只有this,target元件,鼠标指针,窗口,中继器/数据集,页面和字符串,并不能够覆盖所有的对象,所以需要全局变量和局部变量进行配合。

全局变量扮演的是页面之间中间人的角色,把这个页面的指定值传递到另一个页面。

局部变量扮演的是该页面系统变量对象的补充角色,把这个页面中系统变量对象指定不了的,用局部变量来指定和命名,然后再配合系统变量的使用。但局部变量不能跨页面使用,只在该页面内有效。

就这么多,完

axure命令行_Axure变量详解相关推荐

  1. Python必备基本技能——命令行参数args详解

    Python必备基本技能--命令行参数args详解 1. 效果图 2. 源码 2.1 简单命令行参数 2.1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员.工程师和计算机科学家必备的技能--命令行 ...

  2. 自动化测试框架[Cypress命令行执行测试详解]

    前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...

  3. 命令行运行JMeter详解

    1.为什么要命令行执行脚本? 本文介绍如何从命令行运行JMeter,那么宏哥先来说说,为什么要命令行执行脚本,日常测试过程中发现,在大数量并发时,jmeterGUI界面时长宕机.卡死,在这种情况下我们 ...

  4. cacti命令行添加监控详解

    命令行添加监控项目主要用到几个cacti自带的php脚本,分别在cli目录下: add_device.php:添加主机 add_graphs.php:添加相应主机的监控项目 add_tree.php: ...

  5. Outlook 2003命令行参数开关详解

    启动 Microsoft Outlook 的命令是 Outlook.exe.命令行参数开关是正斜杠后跟开关名和开关具有的任何参数. 开关的用法 查找 Microsoft Outlook 可执行文件 O ...

  6. python:argparse命令行解析模块详解

    argparse命令行解析模块学习 import argparse parser = argparse.ArgumentParser() #类似于初始化吧 parser.parse_args() #解 ...

  7. Android中使用am命令实现在命令行启动程序详解

    在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码代码如下: usage: am [subcommand] [options] start an ...

  8. python 命令行解析模块_Python命令行解析模块详解

    python2.7 怎么解析命令行输入的中文参数 本文实例讲述了python读取命令行参数的方法.分享给大家供大家参考.具体分析如下: 如果想对python脚本传参数,python中对应的argc, ...

  9. 以太坊之ganache命令行参数的详解

    ganache-cli 是以太坊节点仿真器软件 ganache 的命令行版本,可以方便开发者快速进行以太坊 DApp 的开发与测试. 使用以下命令安装: npm install -g ganache- ...

最新文章

  1. 使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)
  2. cocos2d 中判断CGPoint或者CGSize是否相等
  3. 利用linux shell自己主动顶贴
  4. 让Team Foundation Server/TFS自动记住用户名密码解决方案
  5. LVDS原理及设计指南
  6. linux下的函数dirname()和basename()使用
  7. php 请求值中的魔术字符串
  8. 【JUC】JDK1.8源码分析之ReentrantReadWriteLock(七)
  9. 《AngularJS高级程序设计》学习笔记
  10. Python3网络爬虫:requests+mongodb+wordcloud 爬取豆瓣影评并生成词云
  11. java编程思想.pdf,阿里开发手册.pdf,MySQL是怎样运行的_掘金小册_.pdf
  12. Node2Vec实战
  13. 转自 方倍工作室微信公众平台开发
  14. D触发器/同步异步复位/异步复位同步释放详细解释
  15. winrar捆绑软件
  16. Nginx不停机升级
  17. webstorm激活码
  18. kafka多线程消费
  19. 这些是 Python 官方推荐的最好书籍(推荐)
  20. OWASP ZAP安全测试工具使用教程(初级)

热门文章

  1. Java BigDecimal toBigIntegerExact()方法(带示例)
  2. Linux系统中输出输入的管理
  3. scala语言示例_标有示例的Scala关键字
  4. mkdir 函数_PHP mkdir()函数与示例
  5. scala 字符串转换数组_如何在Scala中将十六进制字符串转换为字节数组?
  6. Redis 如何实现限流功能?
  7. Xamarin开发笔记—百度在线语音合成
  8. android字符串复制到剪贴板
  9. zoj 1006 do the untwist
  10. android可以有一个悬浮窗口在进入屏保状态显示,点击进入应用,Android如何实现锁屏状态下弹窗...