[英]Javascript: Square brackets after function call
我花了大約15分鍾調試一段Javascript代碼,發現問題是我寫的
matches.push[[-1]];
代替
matches.push([[-1]]);
像我的意圖, matches
是一個數組。 有人可以向我解釋為什么Javascript沒有在前者上拋出語法錯誤,它的含義是什么?
matches.push
是一個Function Object
,您可以通過點表示法或括號表示法訪問對象屬性和方法。 基本上你要求的東西不是push
Function Object
,所以它產生undefined
。
如果您添加了關鍵的東西[-1]
在matches[[-1]] = "something"
這也將是有效的,所以語法是有效的,你想做的事根本就沒有什么。
js中的所有東西都是一個對象,甚至是一個函數。 我想引擎剛剛將一個(不存在的)字段引用到push
函數/對象。 這導致undefined
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.