小编ton*_*120的帖子

Visual Studio Code 有“后退”按钮吗?

当我Cmd + click处于函数的执行行 ( f()) 时,它会将我带到定义该函数的位置 ( f(){})。既然我已经看完了这个功能,如果有一个“后退”按钮可以回到之前的位置就太好了。有谁知道这样的功能或有帮助的功能?

PS我用的是Mac

javascript visual-studio-code

26
推荐指数
6
解决办法
2万
查看次数

什么真正决定了 JavaScript 模块在 .html 中的执行顺序?

我读到第一个出现的模块是最先加载的。这不是真的。

在我回答这个问题之前,我学到了:

  1. 首先执行没有导入的模块(叶模块)。
  2. 导入的模块在它导入的模块执行之前不会执行。

这让我可以解释这样的基本场景:

2.js日志2和导出functionTwo(调用时为 logs "2-export")。
1.js记录1和导入并functionTwo2.js.

无论这些模块的源顺序如何,2.js总是先执行,因为1.js之前不能执行2.js——它依赖于2.js向它导出的某些东西。控制台总是显示:'2, 1, 2-export'。


但是,对于这两种情况,这是一个不完整的答案:

  1. ModuleA 从 ModuleB 导入。ModuleB 从 ModuleA 导入。
  2. ModuleA 从 ModuleB 导入。ModuleC 从 ModuleD 导入。我一直在尝试 source-order 并且我无法直观地选择确定模块执行完整顺序的规则。我只知道 D 或 B 必须先执行。(有时先执行 DB 或 BD;有时先执行 DC 或 BA)

ps

我们所说的裁决是否仅适用于没有该async属性的模块?具有该async属性的模块是否真的在加载后立即执行?

javascript

11
推荐指数
1
解决办法
592
查看次数

模块是否阻止了使用 DOMContentLoaded 侦听器的需要?

document.addEventListener('DOMContentLoaded', () => { 

});
Run Code Online (Sandbox Code Playgroud)

我读到这个事件侦听器确保对于常规脚本,JS 不会引用尚未加载的节点。内容DOMContentLoaded 被触发执行)。

我还读过一个模块 DOMContentLoaded被触发之前被执行(由于defer它内置的属性)。

我使用的模块似乎不需要DOMContentLoaded监听器。我可以确认DOMContentLoaded他们不需要监听器来正确访问节点吗?

另外,我想不出如何测试这个,所以我在这里问。如果你知道我怎么做,请分享!

javascript script-tag deferred-loading

10
推荐指数
1
解决办法
364
查看次数

在 Safari 的响应式设计模式中,如何将视口宽度设置为特定的 px 大小?

通过单击并拖动侧边栏,我可以调整视口宽度。然而,通过单击并拖动侧边栏,很难/不可能获得我想要的特定像素大小。我能做些什么?

在此输入图像描述

html css safari safari-web-inspector

10
推荐指数
1
解决办法
7216
查看次数

为什么我们在记录 'o' 时看不到 'o' 的 'b' 属性?

查看此MDN 页面上给出的示例

const o = {a: 0};

Object.defineProperty(o, 'b', { get: function() { return this.a + 1; } });

console.log(o.b) // Runs the getter, which yields a + 1 (which is 1)

console.log(o)
Run Code Online (Sandbox Code Playgroud)

为什么,当我登录时o,为什么我:
看不到它node.js
看到它,但它在 Chrome 中显示为灰色?

javascript

7
推荐指数
1
解决办法
73
查看次数

这个对象如何“看到”它的继承属性?

我刚刚发现__proto__不是对象的属性。它是Object.prototype( source )的访问器属性。Chrome 的控制台肯定让我感到困惑:/。

所以当我们看到类似的东西时:

在此处输入图片说明

我们做这样的事情:

o = {}; o.valueOf()

正在逐步发生什么?我不太清楚 Object.prototype 有什么作用。__proto__现在必须玩,如果它有任何帮助。

我正在重新阅读我保存的 MDN 文档和文章,但同时我非常感谢我的o示例中的分步说明。

我猜:

我知道这Object.prototype.__proto__是一个访问器属性,它将返回一个“特殊的、隐藏的”[[prototype]]“内部插槽”/属性。

在 的情况下o = {}; o.valueOf(),我怀疑o以某种方式有能力访问Object.prototype.__proto__将返回/引用的Object.prototype。这对我来说根本没有意义(如果你能明白Object.prototype.__proto__为什么不直接看,Object.prototype那么我确定这是不对的。

javascript

6
推荐指数
1
解决办法
91
查看次数

当 flex-item 换行到新行时,我可以将 CSS 应用到它吗?

.wrapper {
  border: 5px solid pink;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.a-fc {
  background-color: purple;
  width: 300px;
  /*height: 100px;*/
}

.b-fc {
    background-color: orange;
    display: flex;
    flex-direction: column;
    /*flex-wrap: wrap;*/
    flex-basis:70px;
    flex-grow:1;
}

.b-fc > * {
  flex-grow: 1;
  flex-basis: 100px;
}

.b-fc > *:nth-child(1) {
  background-color: red;
}

.b-fc > *:nth-child(2) {
  background-color: blue;
}

.b-fc > *:nth-child(3) {
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
  <div class="a-fc">
   <div>a1</div>
  </div>
  <div class="b-fc">
  <div>b1</div><div>b2</div><div>b3</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

FC = 弹性容器。FI = …

html javascript css flexbox

6
推荐指数
1
解决办法
205
查看次数

useEffect 的回调的 return 语句什么时候执行?

我想澄清我对这里发生的事情的理解。任何改善我目前理解的细节将不胜感激。

function Timer() {

    let [time, setTime] = useState(5);

    useEffect(() => {
        let timer = setInterval(() => {
          setTime(time - 1);
        }, 1000)
        return () => clearInterval(timer);
    }, );

    return <div>{time}</div>
}

export default Timer
Run Code Online (Sandbox Code Playgroud)

https://codesandbox.io/s/cranky-chaplygin-g1r0p

  1. time正在初始化为5.
  2. useEffect已读。它的回调必须准备好稍后触发。
  3. div呈现。
  4. useEffect的回调被执行。setInterval的回调准备好触发。当然useEffect'sreturn语句不会在这里触发,因为如果它触发它会取消计时器(并且计时器确实有效)。
  5. 大约 1 秒后,setInterval的回调触发将time( 到 4)的状态更改。
  6. 现在一个状态发生了变化,函数被重新执行。time,一个新变量,被初始化为新的时间状态。
  7. useEffect读取一个新的,它的回调准备稍后触发。(发生这种情况是因为没有 的第二个参数useEffect())。
  8. 执行组件函数的return语句。这有效地重新渲染了div.
  9. 在某些时候,前一个useEffectreturn语句会执行(这会禁用 …

javascript reactjs react-hooks

5
推荐指数
2
解决办法
2958
查看次数

为什么我必须更改此“rect”的“x”和“y”值才能使其位于其视口的左上角?

<svg width="200" height="200" style="border: solid blue 5px;">
  <rect x="0" y="0" height="50" width="100" stroke="purple" stroke-width="30px" fill="green"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

需要什么才能使rect右侧靠在其容器的左上角?


解决方案 - 但不知道为什么

<svg width="200" height="200" style="border: solid blue 5px; overflow: visible">
  <rect x="15" y="15" height="50" width="100" stroke="purple" stroke-width="30px" fill="green"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

html css svg

5
推荐指数
1
解决办法
174
查看次数

对于构造函数的原型属性未设置为对象的实例,这是默认行为吗?

function F() {};
F.prototype = "red";
o = new F();
Run Code Online (Sandbox Code Playgroud)

我发现上面的代码片段很有趣,当在控制台中复制时,它显示因为对象的[[prototype]]插槽不能是对象或以外的任何东西null"red"是不可接受的 &o[[prototype]]插槽似乎只是默认为Object.prototype. 我可以确认这是当它们的构造函数.prototype不是对象时实例所做的事情吗?

(开放的观点认为这是一个不切实际的问题,因为我们为什么要将构造函数重新初始化为.prototype对象以外的东西......但我想我无论如何都会问只是为了检查)。

javascript

4
推荐指数
1
解决办法
79
查看次数

澄清块容器和块盒的定义

我正在阅读这些 MDN CSS 参考概念文章,我发现术语令人困惑或不精确。

上一篇文章中说:

  1. 块容器包含display: inline参与内联格式化上下文的元素(内联级框),或仅包含display: block参与块格式化上下文的元素(块级框)。这似乎是一个不切实际的定义,尤其是当我们刚刚了解到normal flowhas 的子元素同时具有display: block&时display: inline。这里有两个不同的概念还是我误解了?

  1. 如果它们是两个独立的概念,这让我质疑块盒/块的定义,它首先被描述为:

由具有 display: block 的元素生成的框称为“块框”或简称为“块”。

然后,在文章的最后写道:

块盒是块级盒,也是块容器。

在第一个定义中,从技术上讲,元素 withdisplay: block可以出现在任何地方。第二个说它必须显示为仅包含块或内联的父级的子级。

html css

2
推荐指数
1
解决办法
299
查看次数

我是否正确理解了这个关于 getter 函数的规范?

在关于getter 的MDN 文档中,我看到:

它不得与另一个 get 或同一属性的数据条目一起出现在对象文字中({ get x() { }, get x() { } }并且{ x: ..., get x() { } }被禁止)。

我将此解释为一个对象中不能有超过 1 个 getter 方法,但这似乎不是问题。

o1 = {

get fun1() {console.log(5)},
get fun2() {console.log(6)},

};

o1.fun1;
o1.fun2;
Run Code Online (Sandbox Code Playgroud)

我的理解对吗?

javascript

1
推荐指数
1
解决办法
51
查看次数

:nth-child 伪类选择器在这里如何工作?

div:nth-child(n+2):nth-child(odd):nth-child(-n+9) {
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么div选择了某些选择为红色的 s。我们可以一步一步地解释吗?我非常了解一个nth-child是如何工作的——但当它们相互结合时就不行了。

例如,为什么不从 (0 + 2) 中选择第二个 div?

html css

1
推荐指数
1
解决办法
46
查看次数