位置: 编程技术 - 正文

深入浅析JavaScript中数据共享和数据传递(javascrapt)

编辑:rootadmin

推荐整理分享深入浅析JavaScript中数据共享和数据传递(javascrapt),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascrapt,java scripts,java script,javascripvoid,java script,javascripvoid,javascrip的特点有哪些?,javascripvoid,内容如对您有帮助,希望把文章链接给更多的朋友!

数据共享和数据传递是相辅相成的,我们一起来讨论这个问题。首先要说的是共享和传递都是有作用域的。作用域就是起作用的区域,在同一个作用域数据可以共享,超过这个作用域就是跨作用域,就得用到数据传递了。

作用域

1.ui作用域

每一个ui文件缺省都有对应的ui.js。他们作为一个闭合的作用域。ui.js里根据ui文件里组件的id来获取ui对象;不同的ui文件可以定义相同id的组件。在ui.js里定义的变量只能在这个js里访问。

2.page作用域

每次调用openPage都会打开一个新的page,这个新的page会盖在旧的page之上,closePage关闭自己后就会露出被盖住的旧的page。每一个page里除了主ui文件以外,还可以包含其它很多ui文件,这些ui文件在同一个page作用域。当page关闭的时候,所有在page里构建的对象都会释放。

3.app作用域

这个是最大的作用域,只要app没有退出,这个作用域就一直有效。

app.js属于app作用域,因为它不属于任何page。

总之,app作用域包含多个page作用域,page作用域包含多个ui作用域。

内存共享

相对文件和数据库,内存操作的速度快很多,适合于比较少的数据量操作。缺点就是app关闭后就释放了。deviceone通过以下几种方式来共享内存。

1. do_Global的memory操作(app作用域)

这个是app作用域的数据分享。这一块内存其实就是一个键值对,一个key对应一个value,所以要注意如果对一个key重新赋值,就会把以前的value覆盖。使用方法很简单。参考以下的示例,读和写分别在不同的page。

2. Javascript的全局变量(page作用域)

利用JavaScript自身的特性定义全局变量,通常可以定义全局变量来实现同一page下不同ui文件里的数据分享。参考以下的示例,读和写分别在不同的ui文件,但是是在一个page作用域。使用也非常简单,有二种方式:

虽然很方便,但并不推荐使用,因为使用太随意,如果是协作开发或复杂的项目,如果碰见bug,很难定位和调试。

3. Javascript的变量(ui作用域)

这个不用太多解释,就是正常的js变量定义,只能在当前ui.js作用域有效。

深入浅析JavaScript中数据共享和数据传递(javascrapt)

4. sqlite的内存模式

sqlite通常是文件模式,有一种特殊的情况可以直接在内存里使用sqlite,适用于数据结构比较复杂,文本操作麻烦的方式,利用sql语句操作会灵活得多。

内存模式只能有一个,名字固定为:memory:.

在后面sqlite数据库介绍的地方再详细介绍。

文件共享

这个大家很好理解,文件共享是app作用域的,而且app重启后也可以访问。可以通过do_Storage组件在app的任何地方把内容写入一个文件,然后在另外一个地方读一个文件把内容读出来。参考以下的示例,读和写分别在不同的page。这里要注意的是文件读写通常是异步的,你得确保内容已经写完了,然后才能读.

do_SQLite组件访问数据库数据

这个组件是一个MM组件,意味着可以创建多个实例。所有MM组件都缺省是page作用域,也可以是app作用域。创建MM组件第三个参数标示作用域。

这里要注意的是SQLite读写通常是异步的,你得确保内容已经写完了,然后才能读

1. app作用域:

2. page作用域:

数据传递

数据传递涉及到跨作用域,比如不同的ui文件传递数据,不同的page传递数据。

其中最重要也是最常用的方式就是消息机制

1.消息机制

这个环节我们在文档再里详细介绍。

总之,消息机制可以在跨ui作用域传递数据,也可以跨page作用域传递数据。

2.openPage和closePage传递数据。

这个数据传递是跨page作用域,但是只限于相隔二层page之间。比如在page1的基础上打开page2,page1把一些数据传递给page2;page2关闭自身,露出page1,又可以把数据传递回page1. 数据传递可以是任何json对象。这是一个常规而且非常好的方式,建议都这么使用。

关于本文给大家介绍的js数据共享和数据传递的相关知识就给大家介绍这么多,希望对大家有所帮助!

Bootstrap项目实战之子栏目资讯内容 本文我们制作一下子栏目资讯内容,供大家参考,具体内容如下谷歌浏览器解析的顺序调整,需要全部加载后执行$(window).load(function(){$('.text').eq(0).css('ma

Bootstrap每天必学之附加导航(Affix)插件 附加导航(Affix)插件允许某个div固定在页面的某个位置。您也可以在打开或关闭使用该插件之间进行切换。一个常见的例子是社交图标。它们将在某个

第十章之巨幕页头缩略图与警告框组件 Bootstrap,来自Twitter,是目前最受欢迎的前端框架。Bootstrap是基于HTML、CSS、JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷。下面先给大家说下学习要点

标签: javascrapt

本文链接地址:https://www.jiuchutong.com/biancheng/373512.html 转载请保留说明!

上一篇:Bootstrap项目实战之首页内容介绍(全)(bootstrap技术)

下一篇:Bootstrap项目实战之子栏目资讯内容(bootstrap范例)

  • 可变现净值相关税费包括消费税吗
  • 增值税发票综合服务平台怎么下载
  • 收到政府的补贴收入现金流量表填哪里
  • 天然气管道维修收费标准
  • 增值税征税范围中销售应税服务包括什么服务
  • 记账凭证银行利息该怎么记凭证
  • 减免税款年末有余额吗
  • 一次性开票分期确认收入的税务文件是什么
  • 公司会计制度由小企业会计准则改为企业会计准则怎么做
  • 事业单位银行存款余额组成
  • 房地产企业土地使用税
  • 长期股权投资的交易费用计入哪里
  • 让渡资产使用权收入计入什么科目
  • 用友软件作废凭证
  • 补缴社保的工资表
  • 联营企业的持股比例
  • 纳税人开具发票服务卡到期限了怎么办?
  • 建安企业预缴个税怎么算
  • 怎样算纳税人
  • 私自安装路灯违法吗?
  • 财产转让所得个人所得税纳税地点
  • 1697506686
  • 定额发票存根要盖章吗
  • 应交税费应交增值税明细科目设置
  • 小规模纳税人缴纳增值税的会计科目
  • 公司可以对公司罚款吗
  • 正回购和逆回购的区别
  • 研发过程中材料费计入
  • 金融会计风险及防范措施研究目的和意义
  • 知识产权代理公司前景如何
  • 电脑重启后分辨率没有1920x1080
  • 公司客户招待费用标准
  • 华为手机记事本app
  • msiexec.exe是什么进程介绍
  • 预付账款属于资产类
  • 固定资产未开发票怎么入账
  • win11如何设置定时关机
  • 税盘进项税额怎么做
  • vant移动端开发
  • 系统win7旗舰版
  • 公允价值变动损益在利润表哪里
  • vue2 vue-router 不显示页面问题
  • vue前端开发常见问题
  • 简易html代码
  • 应交税费会计分录怎么做明细科目
  • 母子公司资产划转的涉税问题
  • 补交上年度企业所得税税额需要本年度纳税调增吗
  • 企业关联业务往来情况怎么申报
  • 中小微企业优惠政策
  • 报表主营业务收入计算公式
  • 永续债的清偿顺序是什么
  • 财务专用章的效力
  • 出口为什么没有增值税
  • 应付工资的计算公式用友
  • 会计软件包括
  • MySQL timestamp的类型与时区实例详解
  • win7电脑开机声音怎么改
  • win8禁用网络之后如何开启
  • win10预览版选哪个
  • linux查看组的信息
  • win10 自带软件
  • ubuntucommand not found
  • Yosemite使用技巧 如何使用Yosemite mac信息功能共享电脑屏幕教程
  • centos6.5安装yum
  • Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结
  • js 判断一个数字是否相等
  • 激情台球游戏源码大全
  • perl ne
  • UNITY开发数字孪生
  • node做爬虫
  • mare的用法
  • python随机数代码
  • python文件处理方法
  • dom事件模型由什么组成
  • public services翻译
  • unity多开同一个项目的方法
  • 欢迎使用微信支付
  • asyncio使用
  • 关于成品油的吨油换算
  • app平台怎么投诉商家
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设