小编T.J*_*der的帖子

按位和(&)运算符

我读到只做& 0x7fffffff符号位的掩码,并没有篡改其他位.

int a = Integer.MIN_VALUE;
System.out.println(a & 0x7fffffff);
Run Code Online (Sandbox Code Playgroud)

但是,这段代码输出

0
Run Code Online (Sandbox Code Playgroud)

代替

2147483648
Run Code Online (Sandbox Code Playgroud)

这是为什么?

java operations bit

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

向对象添加条目

一个PHP脚本正在计算我以下数组:

$test = Array();
$test['a'] = Array();
$test['a']['a1'] = 'a1';
$test['a']['a2'] = 'a2';
$test['b'] = Array();
$test['b']['b1'] = 'b1';
$test['b']['b2'] = 'b2';
Run Code Online (Sandbox Code Playgroud)

我正在使用以下方法将此数组转换为JSON:

echo json_encode($test);
Run Code Online (Sandbox Code Playgroud)

我正在使用Ajax调用检索此JSON,我正在使用以下方法将其转换为JavaScript数组:

test = JSON.parse(data);
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在JavaScript中向此数组添加条目?我试过了:

test['c'] = [];
test['c']['c1'] = 'c1';
test['c']['c2'] = 'c2';
Run Code Online (Sandbox Code Playgroud)

但是然后在控制台中test['c']是空的(Array[0]).

javascript php arrays

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

如何使用while循环解决未定义的属性?

下面的脚本将替换实际图像对象的所有图像标记.不幸的是,我收到了一个Uncaught TypeError错误.这是因为在我的示例中,Javascript从0计数到3,而不是1到4.数组的长度为4.

如何避免此错误(因此我也在while循环后获得控制台日志)?

var raw_content = {
        "text"  : "Test image 1 [image] Test image 2 [image] Test image 3 [image] Test image 4 [image]",
        "media" :[
                    {
                        "src":          "http://placehold.it/400x200",
                        "caption":      "This is a caption"
                    },{
                        "src":          "images/gallery/sh0.png",
                        "caption":      "This is a caption"
                    },{
                        "src":          "http://placehold.it/400x200",
                        "caption":      "This is a caption"
                    },{
                        "src":          "images/gallery/sh0.png",
                        "caption":      "This is a caption"
                    }
                ]
    };

    // find img one by one
    var image_counter = 0;
    var text_buffer = raw_content.text; …
Run Code Online (Sandbox Code Playgroud)

javascript

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

Javascript关闭不按预期工作

我在nodejs上运行此代码.我想知道为什么闭包执行时不打印字符串'Globals'?是不是this在关闭指向全球范围?

// Running on NodeJS, not in a browser!
this.name = "Globals";

function Person(name) {
  this.name = name;
  this.namePrinter = function() {
    return function() {
      console.log(this.name);
    }
  }
}

var p = new Person("Faiz");
p.namePrinter()(); // prints undefined. Shouldn't it print Globals?
console.log(this.name); // prints Globals
Run Code Online (Sandbox Code Playgroud)

javascript closures scope node.js

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

为什么null == undefined计算结果为true?

我有一个代码,我不清楚

var a = null; 
if(a==undefined)
alert("true");
else 
alert("false");
Run Code Online (Sandbox Code Playgroud)

当我在上面运行代码时,它会发出警告.

任何人都能解释一下这背后的原因或概念吗?

javascript

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

在命令行界面中编写看似自引用的"-d."的目的是什么

在命令行界面中编译应用程序时,我有时会看到如下编写的命令:

javac -d . HelloWorld.java
Run Code Online (Sandbox Code Playgroud)

我明白那个:

  1. -d <directory> =指定生成的类文件的放置位置
  2. . =当前文件夹

我的问题是:写作的目的是什么-d .

它似乎是自我指责的,完全是多余的/不必要的.我希望只是以下内容,据我所知,它具有相同的效果并且不那么冗长:

javac HelloWorld.java
Run Code Online (Sandbox Code Playgroud)

有什么东西我错过了吗?

我使用symbolhound.com在网上搜索这个特定的短语,但找不到任何解释.

Oracle Java站点上的此页面可以执行此操作,例如:

javac -d . XorInputStream.java
javac -d . XorOutputStream.java
javac -d . XorSocket.java
javac -d . XorServerSocket.java
javac -d . XorServerSocketFactory.java
javac -d . XorClientSocketFactory.java
javac -d . Hello.java
javac -d . HelloClient.java
javac -d . HelloImpl.java

java command-line-interface

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

setInterval的持续时间

我创建了一个简单的函数,它在3秒内将值从0计数到某个值.

这是小提琴 - https://jsfiddle.net/ar6akv5z/和片段:

var number = document.querySelector('.number');
var button = document.querySelector('button');

button.addEventListener('click', function() {
    counting(number, 2500);
})

function counting(elem, value) {
 var count = 0;
 var timerId = setInterval(function() {
  if (++count == value) clearInterval(timerId);
  elem.innerHTML = count;
 }, 3000/value);
}
Run Code Online (Sandbox Code Playgroud)
<span class="number">0</span>
<button>Go</button>
Run Code Online (Sandbox Code Playgroud)

但是功能的持续时间超过3秒.你能解释一下为什么会这样,或者告诉我我的错误.

谢谢,抱歉我的英语

javascript duration setinterval

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

style.backgroundColor 不起作用?

试图通过单击来更改单元格的颜色。

单元格通常是灰色的,第一次点击它们应该变成红色。当我单击红色单元格时,它应该再次变为灰色。

function changeColor(cell) {
  var red = '#FE2E2E';
  var grey = '#E6E6E6';

  if (cell.style.backgroundColor == grey) {
    cell.style.backgroundColor = red;
  } else {
    if (cell.style.backgroundColor == red) {
      cell.style.backgroundColor = grey;
    }
  };
};
Run Code Online (Sandbox Code Playgroud)
#table tr td {
  width: 20px;
  height: 50px;
  cursor: pointer;
  background-color: #E6E6E6;
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<table class="table table-bordered" id="table">
  <tbody>
    <tr>
      <td onclick="changeColor(this)"></td>
      <td onclick="changeColor(this)"></td>
      <td onclick="changeColor(this)"></td>
      <td onclick="changeColor(this)"></td>
      <td onclick="changeColor(this)"></td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我也试过用.style.bgColorrgbif (cell.style.backgroundColor ===但这也不能工作。单元格背景颜色的值是 …

html javascript css

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

是否可以定义一个始终应用多余属性检查的接口/类型?

在 TypeScript 中,过多的属性检查应用于对象文字,但不会超出范围。(这是有意记录的行为。)因此:

interface Example {
    id: number;
    name: string;
}
// ...
function doSomething(ex: Example) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这失败了(游乐场链接):

doSomething({
    id: 42,
    name: "Life, the Universe, and Everything",
    extra: "not allowed" // Error 2345: Object literal may only specify known properties, and 'extra' does not exist in type 'Example'.
});
Run Code Online (Sandbox Code Playgroud)

但这不是(游乐场链接):

const ex = {
    id: 42,
    name: "Life, the Universe, and Everything",
    extra: "not allowed"
};
doSomething(ex);
Run Code Online (Sandbox Code Playgroud)

是否可以以某种方式定义接口,即使不使用对象文字,也禁止多余的属性?例如,final某种“”界面?

如果没有,它很容易在运行时完成,但如果有一种方法可以在类型定义中完成它,那将很有用。

typescript

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

Javascript 时间戳在 Laravel 中被 Carbon 解析为错误日期

我有以下代码将当前时间戳存储在 localStorage 中

localStorage.setItem('visitedOn', new Date().getTime())
Run Code Online (Sandbox Code Playgroud)

将时间戳设置为1586525864525(今天几分钟前)

当我向 Laravel 后端发出 API 请求并使用以下命令解析时间戳时

Carbon::createFromTimestamp($request->visitedOn)
Run Code Online (Sandbox Code Playgroud)

它返回以下值,该值完全关闭。

Carbon @1104613325 {#993
  date: 2005-01-01 22:02:05.0 Europe/Brussels (+01:00)
}
Run Code Online (Sandbox Code Playgroud)

知道可能出了什么问题吗?是否存在多种不同字符长度的时间戳?

php datetime date laravel

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