小编nic*_*oum的帖子

你能覆盖 JavaScript 对象的真实强制吗?

该string强制可以使用被覆盖toString的功能。

该number强制可以使用被覆盖valueOf的功能。

该boolean强制可以使用也覆盖valueOf功能。

var foo = {
  toString: function() {
    console.log("To String");
    return "bar";
  },
  valueOf: function() {
    console.log("Value Of");
    return 5;
  }
};

console.log(`${foo}`);
console.log(+foo);
console.log(foo == true);
console.log(!!foo);
Run Code Online (Sandbox Code Playgroud)

当对象需要转换为truthy. 既然x == true和!!x有不同的行为,那么我猜测没有任何功能可以改变它。我代替试图延伸类型,其truthy是false但得到由唯一接受的值Object.create就是null这几乎是相同的对象文本(现在没有的的Object.prototype属性)。

javascript object coercion

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

为什么“ [] == true”和“![] == true”都为假?

我有两个这样的说法。他们为什么都评价为false?

console.log([] == true)
console.log(![] == true)
Run Code Online (Sandbox Code Playgroud)

如果[] == true不是false应该![] == true导致的true?

javascript

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

使用 setAttributeNode 设置单元格的 colspan 在 IE 中引发错误

以下脚本Member not found在 IE 中引发错误

try {
  var dom = document.createElement("td");
  var attribute = document.createAttribute("colspan"); // rowspan has the same behavior
  dom.setAttributeNode(attribute);
} catch (err) {
  console.log(err.message);
}
Run Code Online (Sandbox Code Playgroud)

但以下片段工作正常:

try {
  var dom = document.createElement("tr");
  var attribute = document.createAttribute("colspan");
  dom.setAttributeNode(attribute);
} catch (err) {
  console.log(err.message);
}

try {
  var dom = document.createElement("td");
  var attribute = document.createAttribute("style");
  dom.setAttributeNode(attribute);
} catch (err) {
  console.log(err.message);
}
Run Code Online (Sandbox Code Playgroud)

这是错误还是抛出错误的正当理由。我找不到任何相关的东西。

奇怪的互动:

var attribute = document.createAttribute("colspan");
var dom = document.createElement("td");
attribute.value = "5";
console.log(attribute.value); // …
Run Code Online (Sandbox Code Playgroud)

html javascript internet-explorer

6
推荐指数
0
解决办法
203
查看次数

向节点文件添加属性

是否可以在文件范围内添加属性(使用get和set方法)而不使其成为全局文件?(类似于变量声明的方式let或const将如何工作)

这是我到目前为止编写的代码,它可以向全局范围添加属性。

var propertyValue;

Object.defineProperty(global, "PropertyValue", {
    get: function () {
        return propertyValue;
    },
    set: function (value) {
        propertyValue = value;
    }
});

console.log(PropertyValue);
Run Code Online (Sandbox Code Playgroud)

是否可以使该属性仅对声明该文件的文件可见。可以通过声明一个变量并在其中添加所有属性来完成相同的操作。

var fileProperties;
var propertyValue;

Object.defineProperty(fileProperties, "PropertyValue", {
    get: function () {
        return propertyValue;
    },
    set: function (value) {
        propertyValue = value;
    }
});

console.log(fileProperties.PropertyValue);
Run Code Online (Sandbox Code Playgroud)

但是,每次我想要获取/设置属性时,我仍然需要键入该变量的名称。

那么有没有办法创建一个属性

  1. 不完全是全球性的
  2. 无需说明所有者对象即可访问
  3. 可以被eslint认可

javascript global properties this node.js

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

如何将 kebab-case 转换为 PascalCase?

var text = "welcome-to-a-New-day";
toPascalCase(text); // "WelcomeToANewDAY"
toCamelCase(text); // "WelcomeToANewDAY"
Run Code Online (Sandbox Code Playgroud)

我怎么能把它转换成PascalCase和camelCase?

javascript

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

“ border-style:double”如何分割像素?

浏览器如何确定3行中的每行将获得多少像素?以下是一些希望对您有所帮助的案例:

  • border: 1px double black=> 1,0,0或0,1,0或0,0,1
  • border: 2px double black=> 0,2,0或1,1,0或1,0,1
  • border: 4px double black=> 2,1,1或1,2,1或1,1,2
  • border: 5px double black=> 2,2,1或2,1,2或1,3,1
  • 等等

浏览器之间是否存在不一致之处?

我对这个问题最好奇,希望能从可靠的来源得到答案。

css border

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

使用 Docker 进行 ASP.NET Core Windows 身份验证

我正在尝试按照此答案中的步骤创建一个在 docker 上运行并具有 Windows 身份验证的 asp.net core Web 应用程序。

我已将项目上传到谷歌驱动器,如果您想下载它:谷歌驱动器链接

项目信息:

  • ASP.Net 核心 Web 应用程序
  • .net 5.0框架
  • 窗口身份验证
  • 码头工人支持(Linux)
  • 在 Windows 10 上使用 Visual Studio 2019 社区 (16.10.2) 创建。

我的步骤:

  • 添加了 HomeController + 视图
  • 安装Microsoft.AspNetCore.Authentication.Negotiate包
  • 添加services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();到ConfigureServices
  • 添加app.UseAuthentication();到Configure

行为(调试模式,docker):

我可以在不输入我的凭据的情况下进入应用程序并且User.Identity.Name为空。我Microsoft.AspNetCore.Authorization.AuthorizeAttribute在家庭控制器上添加了该属性,因此现在我可以输入我的凭据,但是一旦我收到以下错误:

GssApiException:GSSAPI 操作失败并出现错误 - 未指定的 GSS 故障。次要代码可能会提供更多信息(Keytab FILE:/etc/krb5.keytab 不存在或为空)。

Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync() Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext 上下文) Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext语境)

我不确定问题是什么(或者这是否是正确的方法),所以我希望了解一些关于如何做到这一点的观点。我在下面包含了该项目的相关文件。

启动.cs

using Microsoft.AspNetCore.Authentication.Negotiate;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc docker asp.net-core

5
推荐指数
0
解决办法
4606
查看次数

覆盖 .net Web API 中动作映射和参数的基本功能

我想对 Base64 的所有请求的 URL(不包括来源)进行编码。每当发出请求时,它应该解码 URL,找到相应的控制器和操作,并使用相应的参数调用它。

是否有我可以覆盖(可能在global.asax或 中webapiconfig.cs)的函数,该函数将在发出请求时被调用?

.net c# asp.net-web-api

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

解决分配的其他方法

可以说我收集了n工人.可以说有3个:

John
Adam
Mark
Run Code Online (Sandbox Code Playgroud)

我想知道他们什么时候打扫办公室.如果我设置int cleanDays = 3它将是这样的:

//Day of month;worker
1;John
2;John
3;John
4;Adam
5;Adam
6;Adam
7;Mark
8;Mark
9;Mark
10;John
11;John
.
.
.
Run Code Online (Sandbox Code Playgroud)

如果我设置cleanDays = 1它将是:

1;John
2;Adam
3;Mark
4;John
5;Adam
.
.
.
Run Code Online (Sandbox Code Playgroud)

等等.

我已经管理过这样的事情:

int cleanDays = 6;

for (int day=1; day<30;day++) {  //for each day
    int worker = (day-1 % cleanDays)%workers.Count; //get current worker (starting from index 0)
    for (int times=0; times< cleanDays; times++) //worker do the job `cleanDays` …
Run Code Online (Sandbox Code Playgroud)

c#

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

将 [0-9] 替换为 0[0-9]

我想知道是否有办法在每个 1 位数字前面添加 0 使用regex.

输入字符串是由“-”分隔的 1-3 个数字的列表(即28, 12-56, 67-6, 45-65-46)。

我遇到的两个问题是:

  1. 匹配所有可能的 1 位数字,而不对以下各项进行单独检查:^[0-9]-, -[0-9]-, ^[0-9]&,-[0-9]&
  2. 添加 0 而不删除任何其他内容。所以把:Regex.Replace(input, "^[0-9]-","0")变成这样的东西:Regex.Replace(input, "^[0-9]-","^0[0-9]-")

.net c# regex

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

T-SQL 检查模式中是否存在表

到目前为止,我一直在使用下面的格式来创建/更新表

IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'table_name' AND type = 'U') 
DROP TABLE [dbo].[table_name]
GO
CREATE TABLE [dbo].[table_name]()
GO
Run Code Online (Sandbox Code Playgroud)

但是最近我遇到了一个案例,其中两个模式有一个同名的表。如何检查表是否存在于特定模式中?它只是SELECT 1 FROM sysobjects WHERE name = 'table_name' AND type = 'U'需要修复的部分,我已将其余部分更改为:

IF EXISTS (SELECT 1 FROM sysobjects WHERE name = 'table_name' AND type = 'U') 
DROP TABLE [schema_name].[table_name]
GO
CREATE TABLE [schema_name].[table_name]()
GO
Run Code Online (Sandbox Code Playgroud)

我当前的服务器版本是2008R2这样的,所以我更喜欢也适用于该版本的答案。我有许多其他检查是通过这种方式完成的,所以我真的不想完全改变这种模式。

t-sql sql-server schema sql-server-2008-r2

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

设置Java Clip的音量

有没有办法设置一个Clipin 的相应音量Java?

我有这个方法:

public static void play(Clip clip) {
    if (Settings.getSettings().isVolumeOn()) {
        FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
        volume.setValue(-1 * Settings.getSettings().getVolume());
        clip.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

所述Settings.getSettings().getVolume()返回一个Integer在范围内0 - 100

卷:

  1. 0:没有声音
  2. 40:带耳机的最佳音效
  3. 60:最佳声音
  4. 100:完整的声音

所以基本上这应该是规模VLC(但是VLC来自的一半0 to 200).

我发现我可以通过使用减少剪辑的分贝 volume.setValue(-10f);

但我更喜欢这种类型的东西volume.setValue(clip.getMaxVolume() * Settings.getSettings().getVolume()/100).

哪里clip.getMaxVolume()会返回剪辑的最大音量.

java audio volume clip

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

在return语句之后具有多个值的意义是什么?

我在搞乱AST树解析器,发现一个ReturnStatement可以有多个expressions。如下面的代码片段所示,return语句后有多个值,但代码已编译并成功运行(它返回的最后一个值)。

function test() {
  return 1, 2, 3;
}

console.log(test());
Run Code Online (Sandbox Code Playgroud)

AST形式:

{
    "type": "ReturnStatement",
    "start": 13,
    "end": 24,
    "argument": {
        "type": "SequenceExpression",
        "start": 20,
        "end": 23,
        "expressions": [{
            "type": "Literal",
            "start": 27,
            "end": 28,
            "value": 1,
            "raw": "1"
        }, {
            "type": "Literal",
            "start": 30,
            "end": 31,
            "value": 2,
            "raw": "2"
        }, {
            "type": "Literal",
            "start": 33,
            "end": 34,
            "value": 2,
            "raw": "3"
        }]
    }
}
Run Code Online (Sandbox Code Playgroud)

此功能和/或错误的意义是什么?
您什么时候要使用此语法?

javascript return

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