blink()方法真的被弃用了吗?

时间:2015-02-25 20:37:26

标签: javascript deprecated specifications ecmascript-6

我不是指臭名昭着的HTML元素<blink>,而是JavaScript函数String.prototype.blink。 我的链接中的MDN页面 - 以及Google发现的其他一些来源 - 表明这是一个弃用的功能(W3Schools更进一步,并将其列为非标准,错误地注意到任何当前浏览器都不支持它,但无论如何......)

alert("Hello World!".blink());

在查看ES6规范(当前RC是34)之后,我找不到任何有关这些声明的证据:显然,规范中没有任何内容表明blink方法已被弃用,过时或非标准。

其他字符串方法bigboldfixedfontcolorfontsizeitalics,{{1} },strikesub:虽然不推荐使用各种HTML元素,但JavaScript方法看起来并不像。

当然,我的来源可能不准确,但MDN参考通常非常可靠,所以我怀疑我在这里忽略了什么。

其他人可以确认或揭穿眨眼方法已被弃用的事实吗?消息人士表示赞赏。

4 个答案:

答案 0 :(得分:3)

由于ES5和ES6规范都没有使用&#34这个词,因此不推荐使用#34;在任何地方,这让我相信没有任何方法 被弃用。他们应该是否完全不同......

他们可能会生成由负责HTML或DOM API的工作组弃用的标签,但ECMAScript规范似乎并不认可(或至少使用)不推荐使用的方法或类的概念。

正如所讨论的in this question,即使在语言中,Javascript也没有弃用概念。一些语言特征在很大程度上被认为是含糊不清或不良的习惯,例如the with statement,未标记为&#34;已弃用&#34;在我能找到的任何官方参考资料中。像unescape这样的方法在their MDN docs中被标记为已弃用,但未在规范中标记为

答案 1 :(得分:2)

JavaScript和HTML(至少在客户端)链接在一起。 blink方法执行以下操作(根据MDN):

  

blink()方法创建一个HTML元素,使字符串闪烁。

由于<blink>标记已弃用,或至少被归类为不合规功能...

  

元素是非标准元素。   HTML5将其归类为不符合要求的功能。

来源:http://www.w3.org/wiki/HTML/Elements/blink

...并且blink方法会生成这样一个已弃用的标记,我认为它也推断出JavaScript方法也已弃用。

但是,我找不到任何官方消息来源,所以我理解这不是一个完美的答案。

<强> - 编辑 -

正如@ssube在评论中所说:A)ES6标准尚未最终确定,B)它的草稿(可在此处找到:http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts)甚至不均匀有“#34;弃用&#34;在他们中。所以在某种意义上似乎不推荐使用blink方法,因为不推荐使用 nothing

然而,似乎任何负责任的文档站点(例如MDN)都会将其列为已弃用,因为它会生成一个已弃用的标记,并且它的真正来源是“弃用的”#34;状态。

答案 2 :(得分:2)


我认为Annex B顶部的描述(定义了所有这些方法)非常清楚(强调我的):

  

当ECMAScript主机是Web浏览器时,需要本附件中定义的ECMAScript语言语法和语义。本附件的内容是规范性的,但如果ECMAScript主机不是Web浏览器,则是可选的。

     

注意:本附件描述了基于Web浏览器的ECMAScript实现的各种遗留功能和其他特性。 本附件中指定的所有语言功能和行为都有一个或多个不良特征,如果没有遗留用途,将从此规范中删除。但是,大量现有功能使用这些功能网页意味着Web浏览器必须继续支持它们。本附件中的规范定义了这些遗留功能的可互操作实现的要求。

     

这些功能不被视为核心ECMAScript语言的一部分。编写新的ECMAScript代码时,程序员不应使用或假设存在这些特性和行为。不鼓励ECMAScript实现实现这些功能,除非实现是Web浏览器的一部分或者需要运行相同的旧ECMAScript代码网络浏览器遇到的。


请注意,ES5中未提及大多数字符串方法。就像网络一样,浏览器供应商也做了自己的事情并添加了自定义扩展。在这种情况下,它达到了TC39委员会决定至少在规范中提及它们的重要性。

答案 3 :(得分:-1)

我找到了什么:

  

<强>已过时

     

此功能已从Web标准中删除。虽然有些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的页面或Web应用程序可能随时中断。

来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink

我希望这可以帮到你。