我確定這個東西是重複的,但我不知道要搜索什麼。Javascript:var = var = function
所以,我一直在尋找一個Node.JS應用程序,並發現這個代碼,並想知道它做了什麼。我試過搜索,但我不知道要搜索什麼,所以我希望有人會向我解釋。
init = refresh = function() {
// code here..
};
我明白1等於,但爲什麼是2?它是否會生成某種別名,以便函數可以在init
和refresh
之間運行?
我確定這個東西是重複的,但我不知道要搜索什麼。Javascript:var = var = function
所以,我一直在尋找一個Node.JS應用程序,並發現這個代碼,並想知道它做了什麼。我試過搜索,但我不知道要搜索什麼,所以我希望有人會向我解釋。
init = refresh = function() {
// code here..
};
我明白1等於,但爲什麼是2?它是否會生成某種別名,以便函數可以在init
和refresh
之間運行?
=
解決右手邊,然後將結果分配到左手邊。
這樣做的結果與分配的結果相同。
這樣分配的功能,既init
和refresh
謝謝你,我只是在閱讀代碼(因爲它是我的一種新語言),這對我來說是新鮮事物。 –
昆汀做了很好的工作,告訴你它在做什麼。 我只是想插話來舉個例子,你可以使用此:
例如說你有一個對象:
var obj = {
init: function() {
var x = this.x = [1,2,3];
}
};
這是什麼讓你做的是引用您的變量x兩種不同的方式(通過x或this.x)。
現在你爲什麼要這樣做? 那麼兩個主要原因。
這是你使用它的另一個原因。
但在大多數情況下,它只是別名,如:的forEach - >每個
下面是使用運營商關聯和優先的解釋。
所以,看着來自Mozilla的,當一個表達式包含相同的優先級的多個運營商,一個 operator precedence描述爲
a OP b OP c
,那麼你檢查優先這一水平是否使用從右到左或從左到右相關性。
a = b = c
JavaScript中的賦值運算符是其優先級別上唯一的運算符。
它從右到左關聯
所以在a = b = c
,b = c
首先評估的c
的值賦給b
。
然後表達式變成a = b
。
變量賦值是這樣的,是的。 ('a = b'將'a'設置爲'b'並評估爲'b';它從右到左解決。) – Ryan
基本上它將'function(){...}'分配給'init'和'刷新'。 –