小编maj*_*aja的帖子

Javascript中冻结和密封的区别

我刚刚听说的JavaScript方法freezeseal,可以用来进行任何对象不变.

这是一个如何使用它的简短示例:

var o1 = {}, o2 = {};
Object.freeze(o2);

o1["a"] = "worked";
o2["a"] = "worked";

alert(o1["a"]);   //prints "worked"
alert(o2["a"]);   //prints "undefined"
Run Code Online (Sandbox Code Playgroud)

这些方法有什么区别,它们能提高性能吗?

javascript ecmascript-5

146
推荐指数
6
解决办法
3万
查看次数

如何在TypeScript中定义Singleton

在TypeScript中为类实现Singleton模式的最佳和最方便的方法是什么?(有和没有延迟初始化).

singleton typescript

119
推荐指数
9
解决办法
8万
查看次数

在LocalDate和sql.Date之间转换

什么是之间进行转换的正确方法java.sql.DateLocalDate(Java8)?

java date converter java-8 java-time

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

在LocalDate和XMLGregorianCalendar之间转换

什么是LocalDate从Java 8和XMLGregorianCalendar?之间进行转换的最佳方法?

java converter java-8 java-time

45
推荐指数
4
解决办法
5万
查看次数

扩展Object.prototype JavaScript

我不是在问这是否合适:

Object.prototype.method = function(){};
Run Code Online (Sandbox Code Playgroud)

几乎每个人都认为这是邪恶的,因为它会混乱for(var i in obj).

真正的问题

忽略

  • 不称职的浏览器(不支持的浏览器Object.defineProperty)
  • 财产碰撞或覆盖的可能性

假设你有一些非常有用的方法,这被认为是错误的/不道德的吗?

Object.defineProperty(Object.prototype, 'methodOnSteriods',{
  value: function(){ /* Makes breakfast, solves world peace, takes out trash */ },
  writable: true,
  configurable: true,
  enumerable: false
});
Run Code Online (Sandbox Code Playgroud)

如果你认为上述内容是不道德的,为什么他们甚至会首先实现这个功能呢?

javascript ecmascript-5

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

如何扩展Array.prototype.push()?

我正在尝试扩展Array.push方法,以便使用push将触发回调方法,然后执行正常的数组函数.

我不太清楚如何做到这一点,但这里有一些我一直在玩的代码都失败了.

arr = [];
arr.push = function(data){

    //callback method goes here

    this = Array.push(data);
    return this.length;

}

arr.push('test');
Run Code Online (Sandbox Code Playgroud)

javascript arrays prototype

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

使用OkHttp获取Http状态代码

我正在使用OkHttp来获取某些网站的内容.

但是,我无法从响应中获取Http-Status Code.

我的Java代码:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
                    .url("https://www.google.at")
                    .build();
Response httpResponse = client.newCall(request).execute();    
String html = httpResponse.body().string();
Run Code Online (Sandbox Code Playgroud)

这个方法:

httpResponse.toString(); 
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

Response{protocol=http/1.1, code=200, message=OK, url=https://www.google.at}
Run Code Online (Sandbox Code Playgroud)

有没有办法将statusCode作为一个整数,或者我是否需要一个正则表达式来过滤掉这个toString()方法?

java http-status-codes okhttp

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

正确测量Go中的持续时间

在Go中精确测量持续时间的正确方法是什么?大多数应用程序只使用标准时间包和以下方法:

var startTime = time.Now()
doSomeHardWork()
var duration = time.Since(startTime) // or: time.Now() - startTime
Run Code Online (Sandbox Code Playgroud)

但是,time.Now()返回当前系统时间,这会导致两个缺陷:

  1. 如果在测量期间更改了系统时间(例如由于时区更改(DST)或闰秒),则生成的持续时间也是错误的.
  2. 系统时间可以比实时更快或更慢地打勾.当操作系统将内部时钟与NTP时间服务器同步时(这可能每小时发生几次!),这种情况总会发生.

    来自MSDN:

    [时间服务]调整本地时钟速率,使其收敛到正确的时间.如果本地时钟和[准确时间样本]之间的时间差太大而无法通过调整本地时钟速率来校正,则时间服务将本地时钟设置为正确的时间.

如果系统时间更改(手动或由于DST),则可能会检测到无效持续时间并将其丢弃.但是,如果系统时钟速度比世界时间快10%,则几乎不可能检测到.这是预期的行为以及系统时钟的设计方式.

因此,大多数其他语言都提供了用于测量持续时间的专用API:

在Go中精确测量执行时间的正确方法是什么?

time go

23
推荐指数
3
解决办法
6198
查看次数

Typescript 1.4:Visual Studio中的语法高亮显示错误

最近发布了Typescript 1.4,为工会提供了新的可能性.

我为Visual Studio安装了新版本,但语法突出显示无法识别联合:

var member: string|number;
Run Code Online (Sandbox Code Playgroud)

尽管可以毫无问题地编译它,但语法检查器会悬停定义和变量的任何用法member.

我需要更新什么才能使其正常工作?

typescript visual-studio-2013

19
推荐指数
2
解决办法
4852
查看次数

使用Javascript加载本地文件而不使用Web服务器

我需要编写一个使用HTML5和canvas的软件.

整个软件应该能够在本地运行,而无需服务器.所以我只能使用Javascript,没有php.

困难的部分:我必须动态获取操作期间所需的文本文件的内容.

例如:当软件启动时,我需要"config.json".在用户做出一些想法之后,我需要"story1.txt"或"story2.txt"等等.

我的问题:

我不能使用Ajax,因为Chrome会阻止它 - 本地文件不允许获取其他文件的内容.我总是得到一个错误消息.

到目前为止我尝试过的:

  • 使用Ajax和jQuery加载文件

    Chrome不允许我加载该文件

  • 将文件加载到脚本标签中

    即使我将JSON-File声明为js-Code,我也无法访问已加载文件的内容

  • 将文件加载到不可见的Iframe中,并读取其内容

    加载工作,我可以看到代码.但是当我尝试访问IFrame的内容时,我再次收到Chrome错误消息:

    "Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match."
    
    Run Code Online (Sandbox Code Playgroud)

题:

有没有办法动态加载文本文件,还是我被迫使用Web服务器?

javascript ajax jquery

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