小编imv*_*in2的帖子

将函数作为没有参数的回调传递 - 需要帮助来理解它

我在一些教程中看到过这样的代码示例:

getSomething(function onSomething(name) {
  return renderSomething(name);
});
Run Code Online (Sandbox Code Playgroud)

并且它等于以下内容:

getSomething(renderSomething);
Run Code Online (Sandbox Code Playgroud)

我是新手,以前从未见过这样的事情。我真的无法理解上面的内容是如何相同的(在 上没有参数renderSomething())。我试图重新创建类似于上述代码的东西以更好地理解它,但有点失败。我正在向您展示我尝试过的内容,希望您能向我解释为什么上述内容是等效的,以及出现了以下两个问题。

你能不能给我解释一下:

  1. 为什么参数name未定义?
  2. 怎么会在console.log('a')之前打印console.log('c')

getSomething(function onSomething(name) {
  return renderSomething(name);
});
Run Code Online (Sandbox Code Playgroud)

javascript

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

为什么这个 svg 中有多余的空白?

我如何删除这个 svg 中多余的空白?当我检查蓝色曲线时,它是路径,突出显示的蓝色是整个 svg。我不明白我尝试调整视图框和几个不同的属性但不起作用?

.grey-curve-svg 只是一个没有样式的空 div。

这是 svg:

<div class="grey-curve-svg">
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
    <path fill="#0099ff" 
          fill-opacity="1" 
          style="--darkreader-inline-fill:#007acc;"  
          data-darkreader-inline-fill="" 
          d="M0,320L120,298.7C240,277,480,235,720,234.7C960,235,1201,277,1320,298.7L1440,320L1440,320L1320,320C1200,320,960,320,720,320C480,320,240,320,120,320L0,320Z" 
          ></path>
  </svg>
</div>
Run Code Online (Sandbox Code Playgroud)

svg

html css svg

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

使用 Window.getSelection() 将所选文本加粗/取消加粗

我正在尝试制作一个简单的文本编辑器,以便用户能够将选定的文本加粗/取消加粗。我想用Window.getSelection()Document.execCommand()。它完全符合我的要求,但是当您将任何文本加粗时,您无法将其取消粗体。我希望它能够加粗和取消加粗任何选定的文本。我尝试了几件事但没有成功。

function addBold(){
const selection = window.getSelection().getRangeAt(0);
const selectedText = selection.extractContents();
const span = document.createElement("span");
span.classList.toggle("bold-span");
span.appendChild(selectedText);
selection.insertNode(span);
};
Run Code Online (Sandbox Code Playgroud)
.bold-span {font-weight: bold;}
Run Code Online (Sandbox Code Playgroud)
<p contentEditable>Bold anything here and unbold it</p>
<button onclick="addBold()">Bold</button>
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

为什么 Javascript 的 Date.getDate() .setDate() 行为如此不可预测?

这里是业余编码员,这个问题超出了我的工资等级。我正在尝试构建一个动态 html / css 日历,其中的单元格是根据今天的日期填充的。我获取今天的日期,然后尝试添加天数来填充另外 13 天(通过 html elements.innerHTML 循环)。

如果我尝试 setDate(30 + 2) 然后 getDate()。该代码运行良好。Javascript 计算出 6 月在第 30 天结束,结果为所需的 2(7 月 2 日)

但这仅在只有一次调用时才有效,如果我有一个循环,或者多次调用此代码,那么结果会有所不同。是否有一些异步的东西阻碍了工作?代码如下:如果您留下“result2”调用并评论其他调用,效果很好,但多次调用时,事情会崩溃并且数字会重复。请帮忙!

const theDate = new Date();
    const todaysDate = 30;
    
    theDate.setDate(todaysDate + 1);
    let result1 = theDate.getDate();
    
    theDate.setDate(todaysDate + 2);
    let result2 = theDate.getDate();
    
    theDate.setDate(todaysDate + 3);
    let result3 = theDate.getDate();
    
    theDate.setDate(todaysDate + 4);
    let result4 = theDate.getDate();
    
    console.log(result1);
    console.log(result2);
    console.log(result3);
    console.log(result4);
Run Code Online (Sandbox Code Playgroud)

html javascript css date getdate

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

While 循环的行为不明确

作为 js 的新手,当我遇到以下代码的一些特殊行为时,我正在玩循环:

var i = 5;

while(i!=0){
  console.log(i);
  i--;
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT: 543211
Run Code Online (Sandbox Code Playgroud)

我在 c++ 中复制了相同的代码:

OUTPUT: 543211
Run Code Online (Sandbox Code Playgroud)
OUTPUT: 54321
Run Code Online (Sandbox Code Playgroud)

知道我是否遗漏了两种语言之间的一些重要差异会有所帮助。

javascript while-loop

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

标签 统计

javascript ×4

css ×3

html ×3

date ×1

getdate ×1

svg ×1

while-loop ×1