我意外地忽略了function关键字而发现了这一点.通常foobar下面模块中的方法将被声明为foobar: function(arg1),但有趣的是以下工作,至少在某些浏览器中,例如Chrome版本44.0.2403.157 m,但它在IE 11.0.9600.17959中失败
在任何浏览器中都可以运行它怎么可能?这是某种新的ES6功能吗?
var module = {
foobar(arg1) {
alert(arg1);
}
};
module.foobar("Hello World");
Run Code Online (Sandbox Code Playgroud) 在Javascript中阅读此语法对我来说真的很混乱:
router.route('/:id')
.put((...args) => controller.update(...args))
.get((...args) => controller.findById(...args));
Run Code Online (Sandbox Code Playgroud)
什么... args意味着什么?
刚打开一个客户端的javascript文件,第一行是这样的:
{
var s_account="blog";
}
Run Code Online (Sandbox Code Playgroud)
我没有得到.通常,根据我的经验,花括号缠绕一个函数...
function welcome(){ ...
Run Code Online (Sandbox Code Playgroud)
......或者 JSON JavaScript对象
var attributes = { this : "that...
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么在他们之前或之后没有文字的花括号?它做了什么/有什么意义呢?
我想知道为什么标题中给出的表达式
[] == ![]
被评估为true.
您无法将数组作为字符串进行比较.我明白了.如果
[] == []
将评估为false,因为引用不同.虽然我们有以下声明.
var arr = [];
arr == arr // this evaluates to true simply because references are the same.
Run Code Online (Sandbox Code Playgroud)
按顺序A == B返回trueA和B必须是false或true.A ==!B为了返回true A可以true和B可以false相反,但在这种情况下,A和B是相同的值,所以我不明白.
我在node.js v15.0.1中看到过这种语法: &&=,||=和??=。但我不知道它有什么作用。有人知道吗?
我发现JQuery网站上的代码构造未知.经过一些格式化,它看起来像:
function (a,c) {
c==null && (c=a,a=null);
return arguments.length>0
? this.bind(b,a,c)
: this.trigger(b)
}
Run Code Online (Sandbox Code Playgroud)
该函数的第一行是什么意思?是任何技巧或标准JS代码构造?
如果我做0 =="0"则评估为真.尝试,
if( -777 == "-777" ) alert("same");
Run Code Online (Sandbox Code Playgroud)
警报发生.
并且,值得注意的是,true =="true"不会评估为true.尝试,
if( false == "false" ) alert("same");
Run Code Online (Sandbox Code Playgroud)
警报不会发生.
为什么会这样?
我最近在Swift编程了很多.今天,当我遇到问题时,我在JavaScipt做了一些工作:
是否有类似于JavaScript中的可选链接?一种防止undefined is not an object没有任何变量的方法?
例:
function test(){
if(new Date() % 2){
return {value: function(){/*code*/}};
}
}
test().value();
Run Code Online (Sandbox Code Playgroud)
将失败一半的时间因为有时会test返回undefined.
我能想到的唯一解决方案是功能:
function oc(object, key){
if(object){
return object[key]();
}
}
oc(test(), 'value');
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情:
test()?.value()
Run Code Online (Sandbox Code Playgroud)
问号后面的部分仅在test返回对象时执行.
但这不是很重要.还有更好的东西吗?运营商的神奇组合?
编辑我知道我可以重写test以返回一些东西.但我想知道是否有类似可选链接的东西.我对上面例子的特定解决方案不感兴趣.如果无法控制返回undefined的函数,我也可以使用的东西.
在我之前的问题中接受的答案(在javascript中生成随机整数的最快方法是什么?),我想知道一个数字如何通过符号丢失其小数|
.
例如:
var x = 5.12042;
x = x|0;
Run Code Online (Sandbox Code Playgroud)
那个数字5到底是怎么回事?
更多例子:
console.log( 104.249834 | 0 ); //104
console.log( 9.999999 | 0 ); // 9
Run Code Online (Sandbox Code Playgroud) 我在一些示例代码中遇到了这个,我完全迷失了.
const addCounter = (list) => {
return [...list, 0]; // This is the bit I am lost on, and I don't know about [...list, 0]
}
Run Code Online (Sandbox Code Playgroud)
显然以上等于以下内容:
const addCounter = (list) => {
return list.concat([0]);
}
Run Code Online (Sandbox Code Playgroud)
任何建议或解释都非常感谢.
javascript ×10
ecmascript-6 ×3
arrays ×1
compare ×1
comparison ×1
express ×1
floor ×1
function ×1
integer ×1
methods ×1
node.js ×1
numbers ×1
operators ×1
shorthand ×1
variables ×1