From d192fb918b0e2aa8869de6dcc59de8464b6e879a Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Fri, 11 Dec 2020 18:59:39 -0500 Subject: dump 2020-12-11 --- .../web/api/parentnode/queryselectorall/index.html | 24 +++++++++++----------- files/zh-cn/web/css/url/index.html | 3 ++- files/zh-cn/web/html/element/tr/index.html | 16 +++++++-------- .../a_re-introduction_to_javascript/index.html | 4 ++-- .../global_objects/math/random/index.html | 2 +- .../global_objects/promise/all/index.html | 18 ++++++++-------- .../reference/global_objects/regexp/index.html | 12 +++++------ .../reference/global_objects/unescape/index.html | 6 +++--- .../reference/operators/instanceof/index.html | 14 ++++++------- 9 files changed, 49 insertions(+), 50 deletions(-) (limited to 'files/zh-cn/web') diff --git a/files/zh-cn/web/api/parentnode/queryselectorall/index.html b/files/zh-cn/web/api/parentnode/queryselectorall/index.html index 1664ec5559..2f7bc72f71 100644 --- a/files/zh-cn/web/api/parentnode/queryselectorall/index.html +++ b/files/zh-cn/web/api/parentnode/queryselectorall/index.html @@ -16,7 +16,7 @@ translation_of: Web/API/ParentNode/querySelectorAll

The {{domxref("ParentNode")}} mixin defines the querySelectorAll() method 返回一个 {{domxref("NodeList")}} 表示元素的列表,把当前的元素作为根与指定的选择器组相匹配。

-

If you need only a single result, consider the {{domxref("ParentNode.querySelector", "querySelector()")}} method instead.

+

如果你只需要一个结果,可以考虑使用{{domxref("ParentNode.querySelector", "querySelector()")}}方法来代替。

Note: This method is implemented as {{domxref("Element.querySelectorAll()")}}, {{domxref("Document.querySelectorAll()")}}, and {{domxref("DocumentFragment.querySelectorAll()")}}

@@ -24,7 +24,7 @@ translation_of: Web/API/ParentNode/querySelectorAll

语法

-
elementList = parentNode.querySelectorAll(selectors);
+
elementList = parentNode.querySelectorAll(selectors);
 

参数

@@ -41,10 +41,10 @@ translation_of: Web/API/ParentNode/querySelectorAll

返回值

-

A non-live {{domxref("NodeList")}} containing one {{domxref("Element")}} object for each descendant node that matches at least one of the specified selectors.

+

一个不存活的 {{domxref("NodeList")}} ,每个子节点拥有一个 {{domxref("Element")}} 对象,其中每个子节点至少与一个选择器相匹配。

-

Note: If the specified selectors include a CSS pseudo-element, the returned list is always empty.

+

Note: 如果指定的 selectors 包含CSS pseudo-element,那么返回的列表始终为空。

Exceptions

@@ -58,24 +58,24 @@ translation_of: Web/API/ParentNode/querySelectorAll

To obtain a {{domxref("NodeList")}} of all of the {{HTMLElement("p")}} elements in the document:

-
var matches = document.querySelectorAll("p");
+
var matches = document.querySelectorAll("p");

这个例子返回了所有 class 为 "note" 或者 "alert" 的 div 元素的一个列表:

-
var matches = document.querySelectorAll("div.note, div.alert");
+
var matches = document.querySelectorAll("div.note, div.alert");

Here, we get a list of <p> elements whose immediate parent element is a {{domxref("div")}} with the class "highlighted" and which are located inside a container whose ID is "test".

-
var container = document.querySelector("#test");
+
var container = document.querySelector("#test");
 var matches = container.querySelectorAll("div.highlighted > p");

This example uses an attribute selector to return a list of the {{domxref("iframe")}} elements in the document that contain an attribute named "data-src":

-
var matches = document.querySelectorAll("iframe[data-src]");
+
var matches = document.querySelectorAll("iframe[data-src]");

Here, an attribute selector is used to return a list of the list items contained within a list whose ID is "userlist" which have a "data-active" attribute whose value is "1":

-
var container = document.querySelector("#userlist");
+
var container = document.querySelector("#userlist");
 var matches = container.querySelectorAll("li[data-active=1]");

User notes

@@ -86,7 +86,7 @@ var matches = container.querySelectorAll("li[data-active=1]");

Consider this HTML, with its three nested {{HTMLElement("div")}} blocks.

-
<div class="outer">
+
<div class="outer">
   <div class="select">
     <div class="inner">
     </div>
@@ -95,7 +95,7 @@ var matches = container.querySelectorAll("li[data-active=1]");

JavaScript

-
var select = document.querySelector('.select');
+
var select = document.querySelector('.select');
 var inner = select.querySelectorAll('.outer .inner');
 inner.length; // 1, not 0!
 
@@ -104,7 +104,7 @@ inner.length; // 1, not 0!

The {{cssxref(":scope")}} pseudo-class restores the expected behavior, only matching selectors on descendants of the base element:

-
var select = document.querySelector('.select');
+
var select = document.querySelector('.select');
 var inner = select.querySelectorAll(':scope .outer .inner');
 inner.length; // 0
diff --git a/files/zh-cn/web/css/url/index.html b/files/zh-cn/web/css/url/index.html index 9b3451e3d7..3ba85545e4 100644 --- a/files/zh-cn/web/css/url/index.html +++ b/files/zh-cn/web/css/url/index.html @@ -1,7 +1,8 @@ --- title: slug: Web/CSS/url -translation_of: Web/CSS/url +translation_of: Web/CSS/url() +translation_of_original: Web/CSS/url ---

{{ CssRef() }}

diff --git a/files/zh-cn/web/html/element/tr/index.html b/files/zh-cn/web/html/element/tr/index.html index a7b41a75d4..a5ccfcacd7 100644 --- a/files/zh-cn/web/html/element/tr/index.html +++ b/files/zh-cn/web/html/element/tr/index.html @@ -3,7 +3,7 @@ title: slug: Web/HTML/Element/tr translation_of: Web/HTML/Element/tr --- -

HTML <tr> 元素定义表格中的行。 Those can be a mix of {{HTMLElement("td")}} and {{HTMLElement("th")}} elements.

+

HTML <tr> 元素定义表格中的行。 同一行可同时出现{{HTMLElement("td")}} 和{{HTMLElement("th")}} 元素.

@@ -40,12 +40,12 @@ translation_of: Web/HTML/Element/tr
{{htmlattrdef("align")}} {{deprecatedGeneric("inline","html4.01")}}, {{obsoleteGeneric("inline","html5")}}
-
This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: +
该枚举属性指定每个单元格中内容的水平对齐方式,可使用的属性值如下:
    -
  • left, aligning the content to the left of the cells
  • -
  • center, centering the content in the cells
  • -
  • right, aligning the content to the right of the cells
  • -
  • justify, widening the spaces in the textual content so that the content is justified in the cells
  • +
  • left, 内容在单元格中左对齐
  • +
  • center, 内容在单元格中居中
  • +
  • right, 内容在单元格中右对齐
  • +
  • justify, 增加文本内容之间的空白以伸展这行文本,使得该单元格中的多行文本具有相同的长度。
  • char, aligning the textual content on a special character with a minimal offset, defined by the {{htmlattrxref("char", "tr")}} and {{htmlattrxref("charoff", "tr")}} attributes {{unimplemented_inline("2212")}}
@@ -112,12 +112,12 @@ translation_of: Web/HTML/Element/tr
- + - +
{{SpecName('HTML WHATWG','tables.html#the-tr-element','tr element')}} {{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C','tabular-data.html#the-tr-element','tr element')}} {{Spec2('HTML5 W3C')}} 
diff --git a/files/zh-cn/web/javascript/a_re-introduction_to_javascript/index.html b/files/zh-cn/web/javascript/a_re-introduction_to_javascript/index.html index 0f423505da..bcf94763b0 100644 --- a/files/zh-cn/web/javascript/a_re-introduction_to_javascript/index.html +++ b/files/zh-cn/web/javascript/a_re-introduction_to_javascript/index.html @@ -946,8 +946,8 @@ add20(7); // ?

这里发生的事情和前面介绍过的内嵌函数十分相似:一个函数被定义在了另外一个函数的内部,内部函数可以访问外部函数的变量。唯一的不同是,外部函数已经返回了,那么常识告诉我们局部变量“应该”不再存在。但是它们却仍然存在——否则 adder 函数将不能工作。也就是说,这里存在 makeAdder 的局部变量的两个不同的“副本”——一个是 a 等于 5,另一个是 a 等于 20。那些函数的运行结果就如下所示:

-
x(6); // 返回 11
-y(7); // 返回 27
+
add5(6); // 返回 11
+add20(7); // 返回 27
 

下面来说说,到底发生了什么了不得的事情。每当 JavaScript 执行一个函数时,都会创建一个作用域对象(scope object),用来保存在这个函数中创建的局部变量。它使用一切被传入函数的变量进行初始化(初始化后,它包含一切被传入函数的变量)。这与那些保存的所有全局变量和函数的全局对象(global object)相类似,但仍有一些很重要的区别:第一,每次函数被执行的时候,就会创建一个新的,特定的作用域对象;第二,与全局对象(如浏览器的 window 对象)不同的是,你不能从 JavaScript 代码中直接访问作用域对象,也没有 可以遍历当前作用域对象中的属性 的方法。

diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html index 46aad728b8..ea760c65f6 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html @@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random ---
{{JSRef}}
-
Math.random() 函数返回一个浮点,  伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
+
Math.random() 函数返回一个浮点数,  伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。

{{EmbedInteractiveExample("pages/js/math-random.html")}}

diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html index 84264ce68b..e81f816fbf 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html @@ -13,9 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all ---
{{JSRef}}
-

Promise.all(iterable) 方法返回一个 {{jsxref("Promise")}} 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);如果参数中  promise 有一个失败(rejected),此实例回调失败(reject),失败的原因是第一个失败 promise 的结果。

- -

它通常在启动多个异步任务并发运行并为其结果创建承诺之后使用,以便人们可以等待所有任务完成。

+

Promise.all() 方法接收一个promise的idterable类型(注:Array,Map,Set都属于ES6的iterable类型)的输入,并且只返回一个{{jsxref("Promise")}}实例, 那个输入的所有promise的resolve回调的结果是一个数组。这个{{jsxref("Promise")}}的resolve回调执行是在所有输入的promise的resolve回调都结束,或者输入的iterable里没有promise了的时候。它的reject回调执行是,只要任何一个输入的promise的reject回调执行或者输入不合法的promise就会立即抛出错误,并且reject的是第一个抛出的错误信息。

{{EmbedInteractiveExample("pages/js/promise-all.html")}}
@@ -23,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all

语法

-
Promise.all(iterable);
+
Promise.all(iterable);

参数

@@ -58,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all

Promise.all 等待所有都完成(或第一个失败)。

-
var p1 = Promise.resolve(3);
+
var p1 = Promise.resolve(3);
 var p2 = 1337;
 var p3 = new Promise((resolve, reject) => {
   setTimeout(resolve, 100, 'foo');
@@ -70,7 +68,7 @@ Promise.all([p1, p2, p3]).then(values => {
 
 

如果参数中包含非 promise 值,这些值将被忽略,但仍然会被放在返回数组中(如果 promise 完成的话):

-
// this will be counted as if the iterable passed is empty, so it gets fulfilled
+
// this will be counted as if the iterable passed is empty, so it gets fulfilled
 var p = Promise.all([1,2,3]);
 // this will be counted as if the iterable passed contains only the resolved promise with value "444", so it gets fulfilled
 var p2 = Promise.all([1,2,3, Promise.resolve(444)]);
@@ -93,7 +91,7 @@ setTimeout(function(){
 
 

下面的例子中演示了 Promise.all 的异步性(如果传入的可迭代对象是空的,就是同步):

-
// we are passing as argument an array of promises that are already resolved,
+
// we are passing as argument an array of promises that are already resolved,
 // to trigger Promise.all as soon as possible
 var resolvedPromisesArray = [Promise.resolve(33), Promise.resolve(44)];
 
@@ -115,7 +113,7 @@ setTimeout(function(){
 
 

如果 Promise.all 失败,也是一样的:

-
var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)];
+
var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)];
 var p = Promise.all(mixedPromisesArray);
 console.log(p);
 setTimeout(function(){
@@ -131,7 +129,7 @@ setTimeout(function(){
 
 

但是,Promise.all 当且仅当传入的可迭代对象为空时为同步:

-
var p = Promise.all([]); // will be immediately resolved
+
var p = Promise.all([]); // will be immediately resolved
 var p2 = Promise.all([1337, "hi"]); // non-promise values will be ignored, but the evaluation will be done asynchronously
 console.log(p);
 console.log(p2)
@@ -151,7 +149,7 @@ setTimeout(function(){
 
 

Promise.all 在任意一个传入的 promise 失败时返回失败。例如,如果你传入的 promise中,有四个 promise 在一定的时间之后调用成功函数,有一个立即调用失败函数,那么 Promise.all 将立即变为失败。

-
var p1 = new Promise((resolve, reject) => {
+
var p1 = new Promise((resolve, reject) => {
   setTimeout(resolve, 1000, 'one');
 });
 var p2 = new Promise((resolve, reject) => {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html b/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
index 77e10c7396..27da890c46 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
@@ -1,5 +1,5 @@
 ---
-title: RegExp
+title: RegExp(正则表达式)
 slug: Web/JavaScript/Reference/Global_Objects/RegExp
 tags:
   - Class
@@ -23,16 +23,16 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp
 
 
字面量
-
由斜杠包围而不是引号包围。
+
由斜杠(/)包围而不是引号包围。
构造函数的字符串参数
由引号而不是斜杠包围。

以下三种表达式都会创建相同的正则表达式:

-
/ab+c/i;
-new RegExp('ab+c', 'i');
-new RegExp(/ab+c/, 'i');
+
/ab+c/i; //字面量形式
+new RegExp('ab+c', 'i'); // 首个参数为字符串模式的构造函数
+new RegExp(/ab+c/, 'i'); // 首个参数为常规字面量的构造函数

当表达式被赋值时,字面量形式提供正则表达式的编译(compilation)状态,当正则表达式保持为常量时使用字面量。例如当你在循环中使用字面量构造一个正则表达式时,正则表达式不会在每一次迭代中都被重新编译(recompiled)。

@@ -258,7 +258,7 @@ console.log(/[^.]+/.exec(url)[0].substr(7)); // logs "xxx" console.log("'group:" + group + "'"); }); // 'group:undefined'
-

注意,由于web兼容性 RegExp.$N 仍会返回一个空的字符串代替 undefined ({{bug(1053944)}}).

+

注意,由于web兼容性 RegExp.$N 仍会返回一个空的字符串代替 undefined (bug 1053944).

相关链接

diff --git a/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html b/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html index b85895a7cd..59df2809d8 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html @@ -9,11 +9,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape

已废弃的unescape() 方法计算生成一个新的字符串,其中的十六进制转义序列将被其表示的字符替换。上述的转义序列就像{{jsxref("escape")}}里介绍的一样。因为 unescape 已经废弃,建议使用 {{jsxref("decodeURI")}}或者{{jsxref("decodeURIComponent")}} 替代本方法。

-
注意:不要使用unescape去解码URLS,使用decodeURI替代。
+
注意:不要使用unescape去解码URLS,使用decodeURIdecodeURIComponent替代。

语法

-
unescape(str)
+
unescape(str)

参数

@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape

示例

-
unescape('abc123');     // "abc123"
+
unescape('abc123');     // "abc123"
 unescape('%E4%F6%FC');  // "äöü"
 unescape('%u0107');     // "ć"
 
diff --git a/files/zh-cn/web/javascript/reference/operators/instanceof/index.html b/files/zh-cn/web/javascript/reference/operators/instanceof/index.html index c97b2a72a4..d637cf41e1 100644 --- a/files/zh-cn/web/javascript/reference/operators/instanceof/index.html +++ b/files/zh-cn/web/javascript/reference/operators/instanceof/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Operators/instanceof

语法

-
object instanceof constructor
+
object instanceof constructor

参数

@@ -38,7 +38,7 @@ translation_of: Web/JavaScript/Reference/Operators/instanceof

instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

-
// 定义构造函数
+
// 定义构造函数
 function C(){}
 function D(){}
 
@@ -87,14 +87,14 @@ o3 instanceof C; // true 因为 C.prototype 现在在 o3 的原型链上
 
 

但是,使用对象文字符号创建的对象在这里是一个例外:虽然原型未定义,但 instanceof Object 返回 true

-
var simpleStr = "This is a simple string";
+
var simpleStr = "This is a simple string";
 var myString  = new String();
 var newStr    = new String("String created with constructor");
 var myDate    = new Date();
 var myObj     = {};
 var myNonObj  = Object.create(null);
 
-simpleStr instanceof String; // 返回 false, 检查原型链会找到 undefined
+simpleStr instanceof String; // 返回 false, 非对象实例,因此返回 false
 myString  instanceof String; // 返回 true
 newStr    instanceof String; // 返回 true
 myString  instanceof Object; // 返回 true
@@ -113,7 +113,7 @@ myDate instanceof String;   // 返回 false

下面的代码创建了一个类型 Car,以及该类型的对象实例 mycar. instanceof 运算符表明了这个 mycar 对象既属于 Car 类型,又属于 Object 类型。

-
function Car(make, model, year) {
+
function Car(make, model, year) {
   this.make = make;
   this.model = model;
   this.year = year;
@@ -128,13 +128,13 @@ var b = mycar instanceof Object; // 返回 true
 
 

要检测对象不是某个构造函数的实例时,你可以这样做

-
if (!(mycar instanceof Car)) {
+
if (!(mycar instanceof Car)) {
   // Do something, like mycar = new Car(mycar)
 }

这和以下代码完全不同

-
if (!mycar instanceof Car)
+
if (!mycar instanceof Car)

这段代码永远会得到 false!mycar 将在 instanceof 之前被处理,所以你总是在验证一个布尔值是否是 Car 的一个实例)。

-- cgit v1.2.3-54-g00ecf