Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 现有/新数据键之间的冲突?_Javascript_Jquery - Fatal编程技术网

Javascript 现有/新数据键之间的冲突?

Javascript 现有/新数据键之间的冲突?,javascript,jquery,Javascript,Jquery,将数据附加到jQuery中的元素很容易: $(选择器)。数据(键、值) 然而,我突然想到,我可能想用我的根名称空间作为所有键的前缀。例如: $(选择器)。数据(“MyDotComApp.”+键,值) 这是浪费时间吗?我是不是想得太多了?我是否需要担心覆盖核心框架编写的任何数据或插件 有没有命名数据键的最佳实践?当然不会有什么坏处,尽管您不一定需要通过连接所有不同的键来实现这一点 无论何时,只要想为特定域创建数据,就可以在元素上用域的名称在数据中创建一个键,并给它一个可以存储各个键的对象 示例:

将数据附加到jQuery中的元素很容易:

$(选择器)。数据(键、值)

然而,我突然想到,我可能想用我的根名称空间作为所有键的前缀。例如:

$(选择器)。数据(“MyDotComApp.”+键,值)

这是浪费时间吗?我是不是想得太多了?我是否需要担心覆盖核心框架编写的任何数据或插件


有没有命名数据键的最佳实践?

当然不会有什么坏处,尽管您不一定需要通过连接所有不同的键来实现这一点

无论何时,只要想为特定域创建数据,就可以在元素上用域的名称在数据中创建一个键,并给它一个可以存储各个键的对象

示例:


是的,我认为你想得太多了——只需使用适用于你的应用程序的智能钥匙名称即可。我假设jQuery会担心在它们的名字前面加上某种前缀(甚至是一个标记),这样就不容易发生冲突。不过,您也可以随时查看jQuery源代码。
  // The myDomain key in data references its own object
$('img').data('myDomain', {});

  // then individual keys are added to the object myDomain references
$('img').data('myDomain').someKey = "some value";
$('img').data('myDomain').someOtherKey = "some other value";

  // and are retrieved the same way
alert( $('img').data('myDomain').someKey );
alert( $('img').data('myDomain').someOtherKey );