gpt4 book ai didi

javascript - 是否可以在 Javascript 中使用方法链分配字符串?

转载 作者:行者123 更新时间:2023-11-30 08:28:37 25 4
gpt4 key购买 nike

我想使用 JavaScript 和 AngularJS 的方法链语法。我分配数组和字符串。

此代码有效:

$mdDateLocaleProvider
.shortDays = ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá']
.msgCalendar = 'Calendario'
;

此代码不起作用:

$mdDateLocaleProvider
.shortDays = ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá']
.msgCalendar = 'Calendario'
.msgOpenCalendar = 'Abrir calendario'
;

我认为 msgOpenCalendar = 'Abrir calendario' 句子由于字符串分配而失败。

我的解决方案:

$mdDateLocaleProvider
.shortDays = ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá']
.msgCalendar = 'Calendario'
;
$mdDateLocaleProvider
.msgOpenCalendar = 'Abrir calendario'
;

为什么分配字符串会出现问题,但分配数组却不会出现问题?

最佳答案

名称为方法链接是有原因的,它用于链接方法,而不是变量赋值。

在方法链中,您只需在方法(函数)末尾返回对象实例(可变或新的不可变对象(immutable对象)),因此您可以“立即”调用下一个函数。

它“起作用”的原因是 JS 中的数组是一个对象,因此您只需在分配给 shortDays 属性的数组上放置一个 msgCalendar 属性即可。

基本上,您取得的成就是:

var shortDays = ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá'].msgCalendar = 'Calendario';
// here shortDays actually equals to 'Calendario', because it is like writing a = b = 2.
$mdDateLocaleProvider.shortDays = shortDays;
$mdDateLocaleProvider.msgOpenCalendar = 'Abrir calendario';

关于javascript - 是否可以在 Javascript 中使用方法链分配字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com