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

Is the blink() method really deprecated?

本文关键字:真的 方法 blink      更新时间:2024-05-28

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

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

在研究了ES6规范(目前的RC是34)之后,我找不到任何证据来证明这些说法:显然,规范中没有任何内容表明blink方法是不推荐的、过时的或非标准的。

其他字符串方法bigboldfixedfontcolorfontsizeitalicsstrikesubsup也是如此:虽然不赞成使用相应的HTML元素,但JavaScript方法看起来并不像。

当然,我的消息来源可能不准确,但MDN参考通常相当可靠,所以我怀疑我在这里忽略了一些东西。

其他人能证实或揭穿眨眼方法被弃用的事实吗?感谢消息来源。

由于ES5和ES6规范都没有在任何地方使用"不推荐使用"一词,这让我相信中没有一个方法是不推荐使用的。他们是否应该是一个完全不同的问题。。。

它们可能会产生被负责HTML或DOM API的工作组否决的标记,但ECMAScript规范似乎没有识别(或至少没有使用)否决的方法或类的概念。

Javascript通常没有贬抑的概念,即使在语言中也是如此,正如本问题中所讨论的那样。在我能找到的任何官方参考中,一些主要被认为模棱两可或实践不佳的语言功能,如with语句,都没有被标记为"不推荐使用"。像unescape这样的方法在其MDN文档中被标记为不推荐使用,但在规范中没有


我认为附件B顶部的描述非常清楚(重点是我的),其中定义了所有这些方法:

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

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

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


请注意,ES5中没有提到大多数字符串方法。当涉及到网络时,浏览器供应商通常会做自己的事情,并添加自定义扩展。在这种情况下,TC39委员会决定至少在规范中提及它们是很重要的。

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)甚至连"弃用"这个词都没有。因此,从某种意义上说,blink方法确实没有被否决,因为没有被否决。

然而,似乎任何负责任的文档网站(例如MDN)都会将其列为不推荐使用,因为它生成了一个不推荐使用的标记,这就是其"不推荐使用"状态的真正来源。

我发现了什么:

已弃用

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

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

我希望这能帮助你。