De facto standard 世界上不可思议的事实标准_基础知识
前些天IEBlog中提到实现互通并不是只靠标准就行,其中举出了一些关于事实上的标准的考虑——所谓“事实上的标准”,也就是并非标准,但大家都遵循着它去做事情的那么一种东西。
这些事实上的标准(也写作“De facto standard”)往往是在某一种事物还没有标准的时候由当事的各方相互妥协而形成的,——有趣的是,作为妥协的结果,这些“事实上的标准”自身往往和其它的东西并不协调;而真正被称作“标准”的东西往往是在发生了很多事情之后才产生的,所以几乎任何地方都有“事实上的标准”和“标准”有些格格不入的感觉。
说了半天废话,该说正题了:
在本文开头的那个链接中的博文里,提到了一个关于正则表达式的语法问题:
像是“/]/”这样的形式,由于“]”本身是“匹配这些字符中的任意一个”的语法中的一部分,故ECMAScript标准中把这样的形式标记为“无效的表达式”——但是同时这样的用法由于构成简单,理解起来也并不容易产生歧义,所以实际上在大部分浏览器中这么用都是被认为“有效”的。
当IE9的开发团队刚开始测试他们的新JavaScript引擎“Chakra”的时候,它们发现有一些本来运行得很好的JavaScript代码在“Chakra”中不能运行,其中一个原因就是最初“Chakra”是按照ECMAScript标准来实现的,而旧代码中包含很多像是这样的在标准中无效的东西——若要兼容,并且“互通”,“Chakra”需要做的就不只是和标准一致,还要能认可这样的表达式。
这是“实现互通并不是只靠标准就行”的一个好例子。
除了这个以外,JavaScript中一些其它的事实标准,比方说:
在一个字符串中如果在反斜线“”之后输入一个换行标记,无论是[LF]( 实际代表的含义),还是[CR]( 实际代表的含义),还是[CR][LF]( \n实际代表的含义),都会和反斜线一起完全被忽略掉——说“忽略掉”还不够准确,也许应该说“这种组合会被认为是把一个字符串拆在多行代码里”之类的。
如果这样说还是觉得不好理解(甚至是莫名其妙)的话,通过一些代码例子就应该比较容易理解了。
比方说,这样的代码:
var s = "This is an\
one line string.";
其实是和
var s = "This is an" +
" one line string.";
等价的。
而如果写成
var s = "This is an
one line string."
就会产生一个语法错误,原因是“未结束的字符串”。
刚开始的时候它只是在IE中使用的JScript引擎独有的一个特性,但是现在几大主流浏览器都支持了这种写法,就像我刚刚提到的,它也是“事实上的标准”之一。
我很有兴趣多讲一些关于“事实上的标准”的事情,但是无奈这种东西实在是太多了,我只知道其中的很小一部分——而且还常常记不起来,所以今天我也只能写到这里了,如果我再想起来什么的话也许会另外写篇新博文吧

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

随着PHP在Web开发中的重要性不断提高,PHP函数库设计也成为了开发中的关键问题之一。好的函数库不仅可以提高开发效率,还能保证代码的质量和可维护性。因此,设计函数库需要遵循一些基本原则和标准。一、可重用性好的函数库应该是可重用的,可以在不同的项目中使用。因此,函数应该是抽象的、通用的,不能和特定的项目或场景捆绑在一起。二、易用性函数库应该易于使用,传递参数

最近,关于生成式人工智能工具的讨论越来越多,特别是在多个大型语言模型和图像生成器(如DALL-E或Midjourney)发布之后。这些发明再次将通用人工智能(GPAI)置于人们的关注的目光下,并再次提出了诸如GPAI是否应该受到监管等假设性问题。在人们进一步探索可能性之前,首先了解GPAI的概念,它的含义,它是什么时候引入的等等。什么是通用人工智能?两年前,也就是2021年4月,欧盟委员会推出了通用人工智能。最初的人工智能法案提案免除了通用人工智能创建者遵守一些法律文书和其他责任标准的责任。原因

粘性定位的标准是指在市场竞争中,一个企业或品牌能够长期占据消费者心智中的固定位置,并能够稳定地保持市场份额和品牌忠诚度的能力。粘性定位是市场营销中的一个重要概念,它强调在激烈竞争的市场环境中,企业需要建立自己独特的定位,并与消费者建立紧密的关系,以保持竞争优势。粘性定位的核心要求包括以下几个方面:独特性:一个企业或品牌在市场上的定位必须是独特且与竞争对手有所

如何判断粘性定位的标准?揭秘粘性定位的关键要素导语:粘性定位作为一种市场定位策略,对企业的品牌推广和市场竞争起到至关重要的作用。然而,如何判断粘性定位的标准却是一个让人头痛的问题。本文将揭秘粘性定位的关键要素,帮助企业更好地判断粘性定位的标准。一、认清粘性定位的意义粘性定位是指企业通过独特的品牌特性和核心竞争优势,使消费者产生强烈的认同和忠诚度,从而形成一种

PHP函数可按多种标准分类:目的(字符串处理、数组处理等)、作用域(内置函数、用户自定义函数)和返回值(有返回值、无返回值)。实战案例:explode()函数可将字符串以指定分隔符分割成数组。

标题:Go语言是否符合上层语言的标准?近年来,Go语言作为一种新兴的编程语言受到了广泛关注和应用。作为一种静态类型、编译型的语言,Go语言在并发编程、内存管理和代码可读性方面具有独特的优势,但在一些程序员眼中,它并不完全符合上层语言所应该具备的标准。本文将从几个方面探讨Go语言是否符合上层语言的标准,并结合具体的代码示例展开讨论。一、代码简洁性上层语言通常被

粘性定位是一种常见的网页布局技术,通过使元素在滚动时保持固定位置,提供更好的用户体验。本文将解析粘性定位的标准、要素和要求,并提供具体代码示例。一、粘性定位的标准兼容性:粘性定位应在主流浏览器上正常工作,如Chrome、Firefox、Safari等。滚动效果:元素在滚动时应平滑过渡,避免出现闪烁或抖动的情况。响应式设计:粘性定位应适应不同设备和屏幕大小,确

在Web开发中,PHP是一种被广泛应用的编程语言,它的标准标记是PHP代码中的特殊标记符号,用于标识PHP代码的开始和结束。深入了解PHP的标准标记是非常重要的,因为它们直接影响着PHP代码的解析和执行过程。本文将深入探讨PHP的标准标记,并提供具体的代码示例,帮助读者更好地理解和运用PHP编程。一、PHP的标准标记在PHP中,最常用的标准标记是“
