db的作用域问题

db的作用域问题

课程代码中很多函数都有这部分代码 (暂且称为 代码段1):

```

var transaction = db.transaction(osName, 'readwrite'), //打开一个事务,读写模式

store = transaction.objectStore(osName);

```


我的问题是 :

代码段1里的db 是在最上面定义的

```

var db = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;

```

db并没有指定数据库的名字dbName,如果存在多个数据库 如testDB1 testDB2...   那么

```

var transaction = db.transaction(osName, 'readwrite'), //打开一个事务,读写模式

```

怎么知道到底去哪个数据库 拿到 osName对应的表的?   唯一指定了到底是哪个名字数据库的代码在函数createDB中`

db = e.target.result;

`,这应该不会对别的函数其作用吧?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2018-07-27 10:23:29

一个项目对应的是一个数据库,打开的是哪个数据库,就在这个数据库里面建表,后面的增删改查都是根据这个数据库来操作的。祝学习愉快~~

  • 提问者 qq_书山压力大EE_0 #1
    代码逻辑里除了一开始创建数据库的时候db指定了名字,后面的增删改查 都没有选取 是要对哪个数据库进行操作 。这是我的疑惑
    2018-07-27 15:10:35
  • 提问者 qq_书山压力大EE_0 #2
    增删改查肯定先得 获取目标数据库吧, 可是代码里没看到啊
    2018-07-27 15:11:53
  • 上面打开的是哪个数据库,下面进行的操作就是针对这个数据库操作的,在增删改查中不需要再次打开。
    2018-07-27 15:43:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师