Home Web Front-end JS Tutorial De facto standard The incredible fact standard in the world_Basic knowledge

De facto standard The incredible fact standard in the world_Basic knowledge

May 16, 2016 pm 06:20 PM
standard

IEBlog mentioned a few days ago that achieving interoperability does not rely solely on standards, which cited some considerations about de facto standards - the so-called "de facto standards", that is, not Standard, but something that everyone follows to do things.

These de facto standards (also written as "De facto standards") are often formed by mutual compromise between the parties involved when there is no standard for a certain thing - interestingly, as a compromise As a result, these "de facto standards" themselves are often inconsistent with other things; and what is truly called a "standard" is often produced only after a lot of things have happened, so there are "de facto standards" almost everywhere. "standard" and "standard" feel a little out of place.

After talking nonsense for a long time, it’s time to get to the point:

In the blog post linked at the beginning of this article, a grammatical issue about regular expressions is mentioned:

Forms like "/]/", because "]" itself is part of the syntax of "match any of these characters", the ECMAScript standard marks such a form as an "invalid expression" ” - But at the same time, due to its simple composition, such usage is not easy to cause ambiguity in understanding, so in fact, it is considered “valid” in most browsers.

When the IE9 development team first started testing their new JavaScript engine "Chakra", they found that some JavaScript code that originally ran well could not run in "Chakra". One of the reasons was that the original "Chakra" It is implemented in accordance with the ECMAScript standard, and the old code contains many things like this that are invalid in the standard - to be compatible and "interoperable", "Chakra" needs to not only be consistent with the standard, but also can recognize such expressions.

This is a good example of "achieving interoperability requires more than standards alone".

In addition to this, there are some other de facto standards in JavaScript, such as:

In a string if a newline mark is entered after the backslash "", either [LF] ( actual meaning), or [CR] ( the actual meaning), or [CR][LF] ( n actually represents), will be completely ignored along with the backslash - saying "ignored" is not accurate enough, maybe it should be said "this combination will be considered as splitting a string across multiple lines of code" Something like that.

If you still find it hard to understand (or even inexplicable) after saying this, it should be easier to understand through some code examples.

For example, this code:

Copy the code The code is as follows:

var s = "This is an
one line string.";

is actually the same as
Copy code The code is as follows:

var s = "This is an"
" one line string.";

Equivalent.
And if written as
Copy code The code is as follows:

var s = "This is an
one line string."

will generate a syntax error because of "unterminated string".

At the beginning, it was just a feature unique to the JScript engine used in IE, but now several major browsers support this writing method. As I just mentioned, it is also " One of the de facto standards.

I am very interested in talking more about "de facto standards", but unfortunately there are too many such things, and I only know a very small part of them - and I often can't remember them. , so I can only write here today. If I think of something again, I may write a new blog post
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Principles and standards for PHP function library design Principles and standards for PHP function library design Jun 16, 2023 am 11:37 AM

Principles and standards for PHP function library design

What criteria can be used to classify PHP functions? What criteria can be used to classify PHP functions? Apr 19, 2024 am 09:30 AM

What criteria can be used to classify PHP functions?

Analyzing the benchmarks and core requirements of sticky positioning: an in-depth discussion Analyzing the benchmarks and core requirements of sticky positioning: an in-depth discussion Jan 28, 2024 am 08:07 AM

Analyzing the benchmarks and core requirements of sticky positioning: an in-depth discussion

Does the Go language meet the standards of upper-level languages? Does the Go language meet the standards of upper-level languages? Mar 13, 2024 am 11:39 AM

Does the Go language meet the standards of upper-level languages?

What you need to know about general artificial intelligence What you need to know about general artificial intelligence May 09, 2023 pm 02:25 PM

What you need to know about general artificial intelligence

Demystifying the key elements of sticky positioning: How to evaluate the criteria for sticky positioning? Demystifying the key elements of sticky positioning: How to evaluate the criteria for sticky positioning? Jan 28, 2024 am 10:39 AM

Demystifying the key elements of sticky positioning: How to evaluate the criteria for sticky positioning?

A Deep Dive into PHP's Standard Markup A Deep Dive into PHP's Standard Markup Mar 29, 2024 pm 03:39 PM

A Deep Dive into PHP's Standard Markup

Standards for sticky positioning and analysis of elements and requirements for sticky positioning Standards for sticky positioning and analysis of elements and requirements for sticky positioning Feb 02, 2024 pm 12:36 PM

Standards for sticky positioning and analysis of elements and requirements for sticky positioning

See all articles