簡體   English   中英

在文字周圍揭開括號的神秘面紗

[英]Demystify parentheses around literal

鑒於:

Number.prototype.add = methodize(add);

function methodize(func) {//a function that converts a binary function to a method
    return function (x) {        
            //console.log(x);            
            console.log(this);
            return func(x,this);            
        }
}

function add(x, y) {
    return x + y;
}

console.log((3).add(4));

最后一行(3).add(4)如果更改為3.add(4)則拋出異常; 否則,返回7。

演示: http//jsfiddle.net/smacky311/m3NwK/2/

為什么會發生這種情況? 我讀到JSON周圍的括號可用於將JSON轉換為對象文字。 但是,在描述過程的方式中,表達式被解釋為對象文字,因為初始{在這種情況下不適用。

解釋器在什么條件下確定文字是表達式? 我們什么時候添加括號?

3.被解析為十進制數(如3.0 )。
要使用. 要訪問成員,您需要阻止它作為數字文字的一部分進行解析。

在之前添加空格. 或者一秒鍾. ,也會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM