繁体   English   中英

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

[英]Is the blink() method really deprecated?

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

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

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

对于其他字符串方法bigboldfixedfontcolorfontsizeitalicsstrikesubsup :虽然不推荐使用各种HTML元素,但JavaScript方法看起来并不像它们。

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

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

由于ES5和ES6规范都没有在任何地方使用“弃用”一词,这使我相信没有一种方法弃用。 他们应该是完全不同的事情......

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

本问题所述,即使在语言中,Javascript也没有弃用概念。 一些语言特征在很大程度上被认为是含糊不清或不良的习惯,例如with语句 ,在我能找到的任何官方参考文献中都没有被标记为“已弃用”。 unescape这样的方法在MDN文档中被标记为已弃用,但不是规范。

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 =和谐:specification_drafts )甚至没有“弃用”这个词。 因此,在某种意义上,似乎不推荐使用blink方法,因为没有弃用任何内容。

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


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

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

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

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


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

我发现了什么:

弃用

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

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

我希望这可以帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM