小编pun*_*lly的帖子

为什么在`jasmine init`和`jasmine examples`之后运行`jasmine`什么都不做?

我通过运行全局安装了茉莉花npm install jasmine -g.

跑步jasmine -v给了我

jasmine v2.5.0
jasmine-core v2.5.0
Run Code Online (Sandbox Code Playgroud)

然后我按照文档运行

jasmine init
jasmine examples
Run Code Online (Sandbox Code Playgroud)

这创建了预期的/spec目录和spec/support/jasmine.json文件.

我的印象是,如果我现在运行,jasmine我应该在控制台中看到一些测试输出.相反,它只是暂时考虑它,然后什么都不做.

我在Git Bash终端的Windows 7计算机上运行节点v4.5.0.我也试过从Windows cmd提示符运行它,但这也不起作用.

node.js jasmine jasmine-node

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

使用EventListener解析一个promise

我正在制作一个弹出式div,我想对动画附加一个承诺,所以我可以在弹出结束后做一些事情.

我的方法不起作用,因为我找不到将promise传递给事件处理程序上的函数的方法.似乎你不能在这里使用bind.我已经尝试过,虽然我可以解决这个承诺,但我无法删除事件处理程序

这里有什么不同的解决方案?

function EventListenerForPopUp() {
    this.removeEventListener("animationend", EventListenerForPopUp );
    this.Show.resolve();
}   

function ShowHideDiv() {        
    this.Show = function () { 
        return new Promise(function(resolve, reject) {
            this.Div.addEventListener("animationend", EventListenerForPopUp, false);
        }.bind(this));
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript

9
推荐指数
2
解决办法
9975
查看次数

OOP Javascript Pong游戏中的上下文在哪里?

为了练习我的OOP知识,我正在使用javascript制作Pong游戏(我知道,这就像在吉他店里玩Stairway to Heaven).通过实现几种不同的技术,包括基于原型的OOP和功能风格,我已经有了几个功能正常的游戏版本.但是我不是为了得到一个我正在做的功能性游戏来学习.

我正在使用html5画布和普通ol'javascript,没有框架(好吧,一点点jQuery用于键盘捕获).我有我的Pong对象代表我的游戏.Pong有一个属性ctx,其中包含对canvas.getContext("2d")上下文的引用.它也有一个player1,player2ball你知道的控股属性.当球和两个玩家被实例化时,上下文被传递给他们的构造函数,以便他们也可以持有对上下文的引用以用于他们的draw(ctx)方法.Pong有一个draw()方法可以使用a调用setInterval(this.draw, 10).Pong的平局方法会调用两个球员和球的平局方法.

两个球员和球都将上下文作为一个属性并不适合我.它们不拥有上下文,因此它不应该是属性.然而,使用javascript和画布的本质似乎是这是最好的方法.在这种情况下,谁或什么应该拥有背景?理想情况下,我不希望球员和球对象有一个绘图对象.我觉得它们应该具有描述其几何和位置的属性,并且专用对象应该负责将它们渲染到屏幕上.这样,如果将来我决定使用<div>而不是画布,我可以改变渲染对象,其他一切都将是遗忘.

我知道我正在制作一个比它需要更复杂的javascript Pong游戏但是我想练习这些技术并真正理解OOP的概念,但每次我认为我已经破解了我的'解决方案创建的全新问题'呈现自己.

编辑:如果你对我的代码有一个爱管闲事,这将是一个(几乎)完全工作的版本:

library.js - http://mikemccabe.me/tests/pong.archive.14.06.11/library.js

pong.js - http://mikemccabe.me/tests/pong.archive.14.06.11/pong.js

尝试一下 - http://mikemccabe.me/tests/pong.archive.14.06.11/

javascript oop pong

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

为什么在引用静态变量时包含类名?

在做一些Java作业时,我通过编写实例方法回答了一个问题,在方法中我使用了static final属于该方法所属类的一些变量.我编写了静态变量名,没有为它们添加类名称,例:

for(int i=0; i < MY_STATIC_VARIABLE; i++)
Run Code Online (Sandbox Code Playgroud)

代替

for(int i=0; i < MyClass.MY_STATIC_VARIABLE; i++)
Run Code Online (Sandbox Code Playgroud)

这使得卷入并正常工作.直到后来我才注意到我忘了给这个班级的名字添加前缀.我是否包括班级名称是否重要?static final变量是否在其类的上下文中充当全局变量?

java variables static

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

你应该用<abbr>标签多次定义一个缩写吗?

如果我有一篇文章或博客帖子,并且我有一个缩写或首字母缩略词,如SAD(季节性情感障碍),我应该每次在文档中出现首字母缩略词SAD吗?

<abbr title="Seasonal Affective Disorder">SAD</abbr>
Run Code Online (Sandbox Code Playgroud)

如果你只定义一次,它是否必须是第一次出现缩写,还是第三次或第四次?

html accessibility abbr

7
推荐指数
2
解决办法
696
查看次数

如何将参数(不是命令行参数)传递给批处理脚本中的函数

我正在编写一个批处理文件,用于自动创建我们销售的产品的典型文件夹结构.我希望能够使用2个可选参数调用我的批处理文件; 供应商的名称和一次创建大量文件夹的文件.如果没有提供供应商,则脚本通过标准输入询问供应商.如果未提供文件,则脚本会询问您要创建的文件夹的名称.如果一个文件作为参数传递,我想脚本逐行读取文件中的行,并为每行一个文件夹,该行的内容而得名.这是:readFile功能:

:readFile
    echo "Reading from file: %theFile%"
    FOR /F "delims=," %%a IN (%theFile%) do (
        call:makeFolder %%a
    )
    goto:EOF
Run Code Online (Sandbox Code Playgroud)

这是一个:makeFolder函数,它可以选择接受要创建的文件夹名称的参数.如果没有提供参数,它会通过标准输入询问名称.

:makeFolder  
    if [%1]==[] (
        set /p product="Enter product name: "
    ) else (
        set product=%1
    )
    if exist "P:\%supplier%\Products\%product%" (
        echo.
        echo The folder '%product%' already exists.
        echo.
        goto:EOF
    )
    mkdir "P:\%supplier%\Products\%product%\Images\Web Ready"
    mkdir "P:\%supplier%\Products\%product%\Images\Supplied"
    mkdir "P:\%supplier%\Products\%product%\Images\Edited"
    goto:EOF
Run Code Online (Sandbox Code Playgroud)

我的问题是在:makeFolder函数%1中指的是命令行中给出的第一个参数,而不是:readFile函数中提供的参数.我怎样才能做到这一点?警告:我是新的批量脚本,所以你可以有一个像我有点笨跟我说话.

batch-file argument-passing command-line-arguments

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

为什么我的 Typescript 接口被编译为 JavaScript?

据我了解,接口仅与 Typescript 相关,并且 tsc 编译器应该足够智能,不会在最终输出中将它们转换为 JS 文件。当我编译代码时,接口也会随之编译。为什么是这样?

我的简化项目结构

src/
  index.ts
  lib/
    EventClient.ts
  interfaces/
    EventClientConfig.ts
Run Code Online (Sandbox Code Playgroud)

它编译成什么

dist/
  index.js
  lib/
    EventClient.js
  interfaces/
    EventClientConfig.js
Run Code Online (Sandbox Code Playgroud)

我的 tsconfig.json

src/
  index.ts
  lib/
    EventClient.ts
  interfaces/
    EventClientConfig.ts
Run Code Online (Sandbox Code Playgroud)

一个接口

dist/
  index.js
  lib/
    EventClient.js
  interfaces/
    EventClientConfig.js
Run Code Online (Sandbox Code Playgroud)

我如何使用该界面

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "outDir": "./dist",
    "lib": ["ES6", "DOM"],
    "target": "ES2018",
    "module": "CommonJS",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "baseUrl": ".",
    "removeComments": true,
    "strict": true,
    "typeRoots": ["./node_modules/@types"],
    "rootDir": "./src",
    "types": [
      "node",
      "jest-fetch-mock",
      "express",
      "reflect-metadata"
    ]
  },
  "include": ["src"],
  "exclude": …
Run Code Online (Sandbox Code Playgroud)

javascript interface node.js typescript

7
推荐指数
2
解决办法
3601
查看次数

为什么我不能从 ReactDOM.render() 回调中获得对我的组件的引用?

我有以下代码:

const priceCalculator = ReactDOM.render(<PriceCalculator />, reactHolder);
Run Code Online (Sandbox Code Playgroud)

我需要priceCalculator稍后在我的代码中使用,但 ESLint 抱怨我不应该使用ReactDOM.render(). 这时候,我发现,你可以传递第三个参数ReactDOM.render()这是一个回调。太好了,我以为...

ReactDOM.render(<PriceCalculator />, reactHolder, function(priceCalculator) {
    // do something with priceCalculator
});
Run Code Online (Sandbox Code Playgroud)

priceCalculator未定义。在调试器中,我暂停了异常并发现this当我在这个函数中时它被设置为我的 React 组件。所以我重写了...

ReactDOM.render(<PriceCalculator />, reactHolder, function() {
    const priceCalculator = this;
    // do something with priceCalculator
});
Run Code Online (Sandbox Code Playgroud)

它仍然未定义。这是怎么回事?

我正在使用 Webpack 编译 es6 React 代码(使用 babel)。

ecmascript-6 reactjs webpack babeljs react-dom

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

QUnit:每个方法一个测试,每个方法有多个断言或多个测试?

我决定为我的下一个javascript项目开始TDD,我正在使用QUnit进行单元测试.我完全不熟悉单元测试,从未使用过任何语言.下面是我的一个模块的示例以及该find方法的一个测试,该测试试图涵盖此方法将遇到的所有方案:

module("TextSwapper", {
    setup: function() { 
        this.str = 'When you first start off trying to solve a problem, the first solutions you come up with are very complex, and most people stop there. But if you keep going, and live with the problem and peel more layers of the onion off, you can often times arrive at some very elegant and simple solutions.';

        this.ts = new TextSwapper();
        ok(this.ts, 'The TextSwapper was created successfully');

        this.textarea = document.createElement('textarea');
        this.textarea.value = …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing qunit

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

垂直对齐表格单元格中的图像和文本区域

是)我有的:

        XXX
        XXX
Google  XXX
Run Code Online (Sandbox Code Playgroud)

我想要的是:

       XXX
Google XXX
       XXX
Run Code Online (Sandbox Code Playgroud)

我尝试了什么:

<table border="4">
<tr>
<td style="vertical-align: middle; height: 400px">
    <img style="vertical-align: middle;" src="http://www.google.se/images/google_80wht.gif" alt="Google logo">
    <textarea style="height: 200px; display: inline-block"></textarea>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

不知何故,即使我放置了vertical-align: middle单元格的样式,图像也没有垂直对齐.textarea反而在中心正确对齐.

JSFiddle:https://jsfiddle.net/uydmjgby/

我无法添加任何新的列或行,格式必须与该单元格一起出现.

html css

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