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

Javascript 浏览器编程是否标准化?所有主要浏览器是否都符合标准?

Javascript 浏览器编程是否标准化?所有主要浏览器是否都符合标准?,javascript,standards,Javascript,Standards,这更像是一个好奇的问题,看看事情是如何发展的,因为我目前没有做任何类型的web编程,但我记得编写JavaScript时是这样的(伪代码): 尘埃落定了吗?环顾四周,似乎有一个标准的ECMA-262。是这样吗?如果是这样的话,所有主要的现代浏览器都实现了标准化的JavaScript吗?请参见 Javascript有一些标准(称为ECMAScript),浏览器或多或少地实现了它。语言本身只是你需要的一小部分,但是,使一些有用的东西。DOM API不太标准,因此许多开发人员使用jQuery或其他框架来

这更像是一个好奇的问题,看看事情是如何发展的,因为我目前没有做任何类型的web编程,但我记得编写
JavaScript
时是这样的(伪代码):

尘埃落定了吗?环顾四周,似乎有一个标准的ECMA-262。是这样吗?如果是这样的话,所有主要的现代浏览器都实现了标准化的JavaScript吗?

请参见


Javascript有一些标准(称为ECMAScript),浏览器或多或少地实现了它。语言本身只是你需要的一小部分,但是,使一些有用的东西。DOM API不太标准,因此许多开发人员使用jQuery或其他框架来处理不一致性。

这有两个主要方面:

  • JavaScript语言是否稳定、稳定和可靠

  • 稳定JavaScript提供的浏览器功能(如
    addEventListener
    attachEvent

  • JavaScript稳定了吗? JavaScript多年来一直非常稳定。:-)ECMAScript 3于1999年发布;直到十年后,我们才看到下一次更新(,没有发布ECMAScript 4)

    除了过时的浏览器(IE6、IE7),JavaScript功能在ECMAScript5出现之前很长一段时间都是稳定的(我想除了
    Array#indexOf
    )。然后,虽然大多数浏览器供应商很快就让浏览器完全符合要求,但微软拖了几年,所以你看到并且仍然看到了很多用于
    Array#forEach
    Object.create
    ,等等的垫片/填充物,因为人们不得不支持IE8,而IE8是在ECMAScript5之前推出的,几年后IE9才问世

    不幸的是,由于IE8是Windows XP的最新版本,尽管它已经过时,但它仍然在大量使用

    下一个版本(又称ES6)即将发布(一些人乐观地称之为“ECMAScript 2015”),当然,因为ES6中有一些非常重要的功能(这很容易是JavaScript有过的最大更新),这些功能将在供应商的浏览器版本中一点一滴地出现。同时,许多虽然不是所有的特性今天都可以通过transfilation使用,您可以在ES6中编写代码,然后将其传输到ES5。如果你搜索“ES6 transpiler”,你会发现几个

    是否为JavaScript提供了浏览器功能? 环顾四周,似乎有一个标准的ECMA-262。是这样吗

    这对于JavaScript(如上所述)是正确的,但对于其他方面来说,它远不止是HTML。它也是各种各样的

    情况比五年前好多了,主要原因有两个:

  • 浏览器供应商比以往任何时候都更加合作,为浏览器应该做什么建立标准,从到和其他十几件事情

  • 微软为使IE符合标准做出了认真的努力。就标准遵从性而言,IE9是一款比IE8更好的浏览器,IE10更好,IE11更好

  • 一些有用的参考资料:


      • 是。。所有浏览器都使用标准化的javascript。。但是有些功能是一些浏览器支持的,而不是少数浏览器支持的

        示例:实现AJAX的方式也取决于您使用的浏览器

        if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
        
        类似地,还有其他类似的函数 事件:chrome和firefox支持输入,但IE不支持输入 因此,在使用特定的javascript函数之前,我们必须考虑浏览器javascript的兼容性


        更多信息:

        现在情况并没有那么糟,更可能是“对不起你有Safari”@blex
        主流现代浏览器
        JS本身,大多数情况下,当然。与DOM的交互不太多,但是有多填充。你是对的,我考虑的更多的是库?/api,而不是语言本身
        if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }