Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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_Php_Ecmascript 6 - Fatal编程技术网

Javascript函数传递对象还是使用数据属性?

Javascript函数传递对象还是使用数据属性?,javascript,php,ecmascript-6,Javascript,Php,Ecmascript 6,我想知道下面哪种方法是传递服务器数据并在函数中使用它的最佳方法,特别是当该函数将由组件使用时 方法1 在本例中,我认为在这个简单的示例中,第一个更好,因为sever time并没有真正附加到任何特定的div元素 只要确保无论您做什么,都没有XSS安全漏洞。在这个简单的示例中,我认为第一个更好,因为服务器时间实际上没有附加到任何特定的div元素 只要确保无论你做什么都没有XSS安全漏洞。我认为所有这些漏洞都是相同的,并且取决于你的编码方式,它们的性能和性能都是相同的 不要忘记,现在最常用的方法是

我想知道下面哪种方法是传递服务器数据并在函数中使用它的最佳方法,特别是当该函数将由组件使用时

方法1


在本例中,我认为在这个简单的示例中,第一个更好,因为sever time并没有真正附加到任何特定的div元素


只要确保无论您做什么,都没有XSS安全漏洞。

在这个简单的示例中,我认为第一个更好,因为服务器时间实际上没有附加到任何特定的div元素


只要确保无论你做什么都没有XSS安全漏洞。

我认为所有这些漏洞都是相同的,并且取决于你的编码方式,它们的性能和性能都是相同的


不要忘记,现在最常用的方法是将事件侦听器附加到元素(jQuery、Angular和..,大量使用事件侦听器)

我认为它们都是相同的,并且取决于您的编码方式,它们的性能都是相同的


不要忘记,现在最常用的方法是将事件侦听器附加到元素(jQuery、Angular和..,大量使用事件侦听器)

对我来说,案例1会更好

  • 代码将具有更少的可用性
  • 代码将不使用(document.getElementById)
  • 您可以在其他没有的地方重用您的函数,如中

    • 对我来说,案例1会更好

      • 代码将具有更少的可用性
      • 代码将不使用(document.getElementById)
      • 您可以在其他没有的地方重用您的函数,如中

      你正处在寻找共同实践的十字路口,一种实践并不比另一种更普遍。任何伟大的圣人都会告诉你,你选择哪一个并不重要,重要的是再次做出同样的选择;也就是说,保持一致

      根据信息的类型,我可以通过以下方式传递:

      • HTTP头(例如,通过HTTP Cookie)
      • 查询字符串(如果使用重定向)
      • 外部JSON文件(如server.JSON),通过JS加载
      • 嵌入式JSON对象(例如,
        window.SERVER={'SERVER\u time':};
      在您的情况下,如果JS是您工作的主要场所,那么让它更接近JavaScript更有意义并且更易于维护。因此,方法1更干净,并且更容易在将来进行更改。方法2需要筛选HTML并确保修改了正确的行


      尽管如此,我还是倾向于将服务器数据保留为外部JSON或嵌入式JSON对象。因此,如果您需要跟踪其他服务器数据/元数据,可以很容易地添加到其中。

      您正处于寻找通用做法的十字路口,而这种做法并不比另一种更为普遍。任何伟大的圣人都会告诉你,你选择哪一个并不重要,重要的是再次做出同样的选择;也就是说,保持一致

      根据信息的类型,我可以通过以下方式传递:

      • HTTP头(例如,通过HTTP Cookie)
      • 查询字符串(如果使用重定向)
      • 外部JSON文件(如server.JSON),通过JS加载
      • 嵌入式JSON对象(例如,
        window.SERVER={'SERVER\u time':};
      在您的情况下,如果JS是您工作的主要场所,那么让它更接近JavaScript更有意义并且更易于维护。因此,方法1更干净,并且更容易在将来进行更改。方法2需要筛选HTML并确保修改了正确的行


      尽管如此,我还是倾向于将服务器数据保留为外部JSON或嵌入式JSON对象。因此,如果您需要跟踪其他服务器数据/元数据,可以很容易地添加到其中。

      对于几乎所有有关编程的问题,都没有绝对的“最佳方法”。@zerkms是的,我同意只是询问更多关于人们通常做些什么来更好地满足他们在特定情况下的需要。仅仅因为某人以某种方式做了某件事——这是你现在以同样方式做的一个不好的理由。为了确定“最佳”,必须有一些评估标准,比如健壮性、安全性、性能等等。也许可维护性是最重要的。谁知道呢?你是对的,最好的是模棱两可的,我更关心的是可维护性,并试图保持一致性几乎所有关于编程的问题都没有绝对的“最好的方法”。@zerkms是的,我同意只是问更多关于人们通常做什么,人们在特定情况下做什么更好地满足他们的需要。仅仅因为某人以某种方式做了某件事——这是你现在以同样方式做的一个不好的理由。为了确定“最佳”,必须有一些评估标准,比如健壮性、安全性、性能等等。也许可维护性是最重要的。谁知道呢?你的回答是正确的,最好是模棱两可的,我更关心可维护性,并试图保持一致性谢谢你的回答,我实际上喜欢你将对象作为函数参数传递的想法,很容易看到。谢谢你的回答,我实际上喜欢你将对象作为函数参数传递的想法,很容易看到。
      function doSomething(elm, serverTime) {
         // Do something
      }
      
      <script>
      doSomething('foo', '<% php server time %>');
      </script>
      
      <div id="foo" data-server-time="<% php server time %>"></div>
      function doSomething(foo) {
          var serverTime = getElementById("server-time").dataset.servertime;
          // Do something
      }
      
      <script>
      doSomething('foo'); 
      </script>
      
      document.getElementById("foo").doSomething() ?