如果你認爲屬性是子/函數/方法(如getter/setters)的表親,那麼這個謎應該消失。 '訪問對象成員'操作符(點)'工作'只要在左邊有一個對象(引用),在右邊有一個有效的成員 - 方法,變量/字段或屬性名稱。只要x.y
表達式評估爲一個對象,鏈式點就「有效」,因此y.z
z
是該對象的成員。最後一個可能是一個非對象(右側沒有更多的點)。
>> Set oFS = CreateObject("Scripting.FileSystemObject")
>> Set oFld = oFS.GetFolder(".") -- method .GetFolder returns Folder object
>> Set oFiles = oFld.Files -- Property .Files returns collection object
>> WScript.Echo oFiles.Count -- oFiles has a simple/non-object member .Count
>>
2
>> WScript.Echo oFiles.Count.ToString() -- .Count is not an object, but a number
>>
Error Number: 424
Error Description: Object required
>> WScript.Echo oFS.GetFolder(".").Files.Count -- chaining
obj obj obj var
>>
2
好了,你說如果的object.method()返回另一個對象,然後,我們可以用一個屬性或方法否則它會拋出需要一個錯誤的對象IT連鎖,我的理解對不對? – user1925406 2013-02-23 18:49:02
@ user1925406 - 是的。 – 2013-02-23 19:01:23