V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ChanKc  ›  全部回复第 16 页 / 共 18 页
回复总数  350
1 ... 8  9  10  11  12  13  14  15  16  17 ... 18  
@gromit1337 没啥区别,但是如果是 typescript,涉及到 private 的话,#6 上面那个是不行的
console.log 不在 ecmascript 规范里,所以不同的平台不同的 JS 引擎实现是可以不一样的
还是说你问的是
func sum(self) {return self.a + self.b };
func sum() { return this.a + this.b };
的区别?我个人喜欢前者
想了想你可能要的是这个
你的 selectComponent 只是临时用一下,比如
let obj = {};
obj.selectComponent = function () { console.log("s") };
obj.selectComponent();
delete obj.selectComponent;

如果是这样,用 call
(function selectComponent () {}).call(obj);

前者可能会覆盖已有的同名方法,而且可能忘记 delete 从而影响 Object.keys 等方法的结果。call 没有那么地“侵入性”
没有太看懂
this.selectComponent()和 selectComponent.call(this)的差别?
在你的情况下似乎没区别
call 一般都发生在,如果你要调的这个方法,你担心没有
比如你的 this.selectComponent == null
此时你只能去找别的类似的对象的方法拿过来用一下
that.selectComponent.call(this)

示例:
let obj = Object.create(null);
obj.a = 1;
Object.prototype.hasOwnProperty.call(obj,"a"); // true
2020-05-30 21:18:43 +08:00
回复了 hst001 创建的主题 职场话题 你上一次仔细完整的读完一篇文章是在什么时候?
刚刚
2020-05-30 21:17:54 +08:00
回复了 xiubin 创建的主题 职场话题 萌新发帖, offer 选择
异地先解决异地?
如果问题仅仅在于“我如何定义我的错误并准确地告知用户”,我认真介绍一下 RFC7807 所定义的一种媒体格式:application/problem+json
https://tools.ietf.org/html/rfc7807

{
"type": "https://example.com/probs/out-of-credit",
"title": "You do not have enough credit.",
"detail": "Your current balance is 30, but that costs 50.",
'status": 403,
"instance": "/account/12345/msgs/abc",
"balance": 30,
"accounts": ["/account/12345",
"/account/67890"]
}

其中 type, title, detail, status 和 instance 都是这个规范定义的成员字段,但也都是可选的,此外别的字段都是可以随意拓展的。

其中 status 的存在就可以有效避免楼里说的 HTTP status 被篡改的问题。

type 要求是一个指向人类可读的错误文档的 URI,如果可以确保这个 URI 不变,调用方可以对这个 URI 进行判断来确定错误。title 和 detail 则是提供了人类可读的说明。

这个格式已经有很多语言的实现,Github 上一搜都能出来很多。而且这个格式是 RESTful 的,因为用到了超媒体。

如果传输过程中 HTTP Body 也不幸被修改了,可能会出现的情况是 HTTP Header 的 Content-Type 也被修改,不是 application/problem+json,那么可以确定问题发生在传输过程中。如果 Content-Type 是 application/problem+json 而 body 无法按照这个格式解析,也很容易确定问题发生在传输过程中。

不懂超媒体的就不要再黑 RESTful 了。
2020-05-30 16:07:30 +08:00
回复了 asanelder 创建的主题 程序员 jvm : the missing Java version manager, 哈哈哈哈
archlinux-java?
2020-05-30 09:12:13 +08:00
回复了 luoonet 创建的主题 职场话题 第一次面试就被刷了,找个工作好难啊
校招面了三十次才找到现在这个工作…
2020-05-30 00:13:37 +08:00
回复了 embbnux 创建的主题 分享创造 Github release/S3 文件下载新思路: Firefox Send Link Generator
有意思。不过我以为是 Firefox send 有 API,原来是先下到 CI 再放页面上
2020-05-30 00:05:28 +08:00
回复了 hackzx 创建的主题 程序员 自学编程 9 年,想学算法,有可以推荐的书吗?
Introduction to Algorithm 。不过这个的前置课程( prerequisites )是数据结构,线性代数(有涉及矩阵乘法)和高等数学(有涉及到无穷级数)
2020-05-29 20:22:35 +08:00
回复了 chaodada 创建的主题 程序员 哪里能找到 大学里 那种系统学习计算机技术的相关课程呢
@psx2019 推荐这里面的崔毅东老师!因为是我本科老师
@jzmws 没有不安全的 HTTP 请求,只有不安全的 HTTP server 实现
@muzuiget 我也是 restful 信徒,但我几乎从来没在真实的系统上见过真正的 restful 接口( GitHub 勉强算)。这就像是我信仰共产主义但是从来没见过共产社会
常见问题:
讲状态码就是在讲 restful 吗?
我觉得不是,restful 的核心是超媒体。HTTP 状态码只是语义上的辅助。全部 200 也可以是 restful 。
HTTP 状态码够用了吗?
我觉得够用,而且你可以在 body 里加上具体业务的状态码。
如果 HTTP 状态码被中间的网络服务改了怎么办?
如果 body 不被改的话,像 RFC7807 那样把 HTTP 状态码写一份到 body 里也是可以的。
全用 200 有什么好处?
增加就业。
RFC7807 了解一下
2020-05-29 12:05:17 +08:00
回复了 fiypig 创建的主题 Go 编程语言 请问要怎么才能参与开源项目呢.
开源项目用得多了你就会发现有一些 bug 或者功能缺失,然后你就可以提 issue,如果维护者很忙,说 PR welcome 。你就可以 fork 然后改了提 PR 。提 issue 其实就是已经参与了,提 PR 如果被 merge 就算是有代码贡献
2020-05-29 12:00:43 +08:00
回复了 monkeyWie 创建的主题 程序员 工作时间写的开源项目属于公司吗?
合法…所以尽可能地不要在上班时间写开源,除非公司支持
1 ... 8  9  10  11  12  13  14  15  16  17 ... 18  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5128 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 695ms · UTC 09:55 · PVG 17:55 · LAX 02:55 · JFK 05:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.