我見過的代碼,沿調用對象時沒有使用new做什麼?
Object(existingObject).myMethod();
行雲這是不是直接調用existingObject.myMethod()
不同?更一般地說,Object(x)是做什麼的?
我見過的代碼,沿調用對象時沒有使用new做什麼?
Object(existingObject).myMethod();
行雲這是不是直接調用existingObject.myMethod()
不同?更一般地說,Object(x)是做什麼的?
Object構造函數爲給定的值創建對象包裝。 如果該值爲空或未定義,它將創建並返回一個空的對象,否則,它將返回一個類型對象 到給定值。如果該值已經是對象,則返回值爲 。
對於你的情況,由於該值已經是一個對象,它只會返回值existingObject
。所以,不,與直接撥打existingObject.myMethod
沒有什麼不同。
你應該提供一個鏈接到報價。特別是,「對象構造函數創建...」應該是「當作爲函數調用時,對象構造函數創建...」以更緊密地與[ECMA-262]對齊(http://ecma-international.org/ecma -262/5.1 /#仲丁基15.2.1.1)。 – RobG
我可以挖掘RobG,感謝您的提示:) – Hacknightly
它創建一個對象包裝 – adeneo
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object – adeneo