小编Log*_*nch的帖子

循环内的JavaScript闭包 - 简单实用的例子

var funcs = [];
// let's create 3 functions
for (var i = 0; i < 3; i++) {
  // and store them in funcs
  funcs[i] = function() {
    // each should log its value.
    console.log("My value: " + i);
  };
}
for (var j = 0; j < 3; j++) {
  // and now let's run each one to see
  funcs[j]();
}
Run Code Online (Sandbox Code Playgroud)

它输出这个:

我的价值:3
我的价值:3
我的价值:3

而我希望它输出:

我的价值:0
我的价值:1
我的价值:2


使用事件侦听器导致运行函数的延迟时,会出现同样的问题:

var buttons = document.getElementsByTagName("button");
// let's create 3 …
Run Code Online (Sandbox Code Playgroud)

javascript closures loops

2689
推荐指数
25
解决办法
34万
查看次数

在TypeScript中的对象文字中键入定义

在类中的TypeScript中,可以声明属性的类型,例如:

class className {
  property: string;
};
Run Code Online (Sandbox Code Playgroud)

我应该如何编写代码来声明对象文字中属性的类型?这样的代码不编译:

var obj = {
  property: string;
};
Run Code Online (Sandbox Code Playgroud)

(我收到错误 - 当前范围中不存在名称'string').

我做错了什么或者是一个错误?

typescript

286
推荐指数
12
解决办法
24万
查看次数

“ java”命令可以编译Java程序吗?

互联网上的大多数网站都说:

“使用javac命令编译.java文件。然后使用java命令运行它”

但是今天我试图在没有Java的情况下运行Java程序,但javac结果却很奇怪。

以下是名为的文件的内容hello.java

public class Myclass {
 public static void main(String[] args){
    System.out.println("hello world");
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我跑了:

$ javac hello.java
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

但是,当我不使用javac命令运行它时,它执行时没有任何错误。

$ java hello.java
hello world
Run Code Online (Sandbox Code Playgroud)

java命令还会编译程序吗?如果是,为什么我们需要该javac命令?

我的Java版本是:

openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM …
Run Code Online (Sandbox Code Playgroud)

java javac

143
推荐指数
4
解决办法
8025
查看次数

TypeError:'NoneType'对象在Python中不可迭代

错误TypeError: 'NoneType' object is not iterable是什么意思?

我在这个Python代码上得到它:

def write_file(data, filename): # creates file and writes list to it
  with open(filename, 'wb') as outfile:
    writer = csv.writer(outfile)
    for row in data: # ABOVE ERROR IS THROWN HERE
      writer.writerow(row)
Run Code Online (Sandbox Code Playgroud)

python nonetype

127
推荐指数
6
解决办法
50万
查看次数

在Jinja2模板中包含html文件

我正在使用Flask微框架为我的服务器使用Jinja模板.我有父template.html和一些孩子child1.html,child2.html.其中一些孩子是相当大的html文件,我想以某种方式拆分它们,以便更好地清理我的工作.

main.py:

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/')
@app.route('/<task>')
def home(task=''):
  return render_template('child1.html', task=task)

app.run()
Run Code Online (Sandbox Code Playgroud)

简化的template.html:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <div class="container">
      {% block content %}{% endblock %}
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

魔术在child1.html中:

{% extends 'template.html' %}
{% block content %}
  {% if task == 'content1' %}
    <!-- include content1.html -->
  {% endif %}
  {% if task == 'content2' %}
    <!-- include content2.html -->
  {% endif %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

而不是评论

<!-- include content1.html -->
Run Code Online (Sandbox Code Playgroud)

我有很多HTML文字.并且很难跟踪变化并且不会犯一些错误,这些错误很难找到和纠正.所以我想加载content1.html而不是在child1.html中编写所有内容.我遇到了这个问题 …

html python jinja2 flask

68
推荐指数
3
解决办法
7万
查看次数

Werkzeug究竟是什么?

官方文件说:

Werkzeug是一个用于Python的WSGI实用程序库.

但是,当我运行我的Flask Web应用程序时,我注意到在服务器的响应头中,显示了

HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 13
Server: Werkzeug/0.11.9 Python/2.7.10
Date: Tue, 03 May 2016 12:50:08 GMT
Run Code Online (Sandbox Code Playgroud)

在第四行它说服务器是Werkzeug.

为什么这不是Werkzeug一个像Web服务器那样的意思Apache

wsgi werkzeug flask server

42
推荐指数
4
解决办法
3万
查看次数

为什么[] + {} === {} + []为真?

如果你打开你的JS控制台并输入[] + {} === {} + []它就会告诉你它是真的.

我不明白为什么会这样.我试图查看它是如何解析的.

对于[] + {}+这里是加法运算符作为操作数都是文字.LHS不会产生数字,.valueOf()所以它.toString()在两个操作数上使用""+ 给出字符串连接"[object Object]"

对于{} + []{}是一个空的代码块,并"忽略",该+运营商在这里被解析为一元加运算,它的操作数转换为数字.转换为数字的空数组变为0

所以这似乎"[object Object]" === 0肯定应该是假的?

身份运算符检查两个操作数是否相等而没有类型转换.我看不出这是怎么回事.我错过了这个故事的哪个部分?

编辑:

我看看你是否输入({} + [])它将它解析为一个空对象,使RHS等于"[object Object]".我查了一下,( )是分组操作员.那么也许这与此有关?

与CodeMash 2012的"Wat"谈话中提到的这些奇怪的JavaScript行为什么解释?.回答要点1 === 2不应该是真的.

javascript

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

下一代低级语言是迁移代码库的最佳选择?

假设您有一家运行大量C/C++的公司,并且您希望开始计划迁移到新技术,这样您就不会像15年前的COBOL公司那样结束.

目前,C/C++运行得非常好,市场上有很多开发者.

但是你现在想开始考虑它,因为考虑到巨大的运行代码库和数据敏感性,你觉得可能需要5到10年才能进入下一步而不会超出预算和开发团队的负担.

你听说过D,开始变得非常成熟,Go,承诺会很受欢迎.

你会选择什么?为什么?

c++ d go low-level

30
推荐指数
9
解决办法
6257
查看次数

我如何在fullcalendar中更改不同颜色的事件背景颜色?

我正在使用fullcalendar的最后一个版本,我查看了文档如何更改背景颜色事件,但我不知道如何制作不同的事件.
我需要代码示例与事件红色,蓝色,绿色,如图片.

在此输入图像描述

我在文档网站上看到了这段代码,但我无法应用2种颜色:

$('#calendar').fullCalendar({
  editable: true,
  events: [{
    title: 'Teste1',
    start: new Date(y, m, d, 10, 30),
    allDay: false,
    editable: false
  }, {
    title: 'Teste2',
    start: new Date(y, m, d, 11, 40),
    allDay: false
  }],
  eventColor: '#378006'
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery fullcalendar

12
推荐指数
2
解决办法
4万
查看次数

如何将静态文件夹复制到Vite中的“dev”和“build”?

我正在尝试将基于 Webpack 的 Vue.js 项目升级到 Vite。我有这样的文件夹结构:

 - src/
 - static/
 - tests/
Run Code Online (Sandbox Code Playgroud)

在 Webpack 中,我像这样使用 CopyWebPackPlugin:

 - src/
 - static/
 - tests/
Run Code Online (Sandbox Code Playgroud)

并复制静态文件夹内的所有文件,使其在开发和构建上都可用。

我想通过 Vite 做同样的事情,但不知道如何实现它。

我尝试了以下代码,但没有成功。

new CopyWebpackPlugin([
  {
    from: path.resolve(__dirname, '../static'),
    to: '',
    ignore: ['.*']
  }
]),
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vite

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

标签 统计

javascript ×4

flask ×2

python ×2

c++ ×1

closures ×1

d ×1

fullcalendar ×1

go ×1

html ×1

java ×1

javac ×1

jinja2 ×1

jquery ×1

loops ×1

low-level ×1

nonetype ×1

server ×1

typescript ×1

vite ×1

vue.js ×1

werkzeug ×1

wsgi ×1