是否可以在JavaScript中进行功能解除引用

Rya*_*yan 1 javascript

鉴于:

function a() {
   return 1;
}


a()++;
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,这在JS中是不可能的?

在此输入图像描述

我想要的是获得值2.

mea*_*gar 11

你试图增加一个常数,这没有任何意义.

从本质上讲,你写的是这样的:

1++;
Run Code Online (Sandbox Code Playgroud)

要么

1 = 1 + 1
Run Code Online (Sandbox Code Playgroud)

据我所知,这在JavaScript或任何语言中都不起作用.当然,如果你试图这样做,Ruby,PHP和C++都会同样死掉.

如果您想要达到该值2,您需要直接添加:

a() + 1
Run Code Online (Sandbox Code Playgroud)

请注意,当您不尝试修改常量值时,函数解除引用会正常工作:

function a() { return [1, 2, 3]; }

a()[1]; // 2

function b() { return {name: "bob"} }

b().name; // "bob"
Run Code Online (Sandbox Code Playgroud)