在课堂上,老师无法解释为什么tweets(i)失败,而tweetsi有效:
var tweets=["hi","who","when","where","bye"];
alert("start");
for (var i=0; i < tweets.length; i++) {
alert(tweets[i]);
}
alert("finish"); 发布于 2018-01-01 14:03:32
括号用于函数,因此array()将是一个名为array的函数。方括号用于数组,因此array[]将是一个数组。array[0]是数组中的第一个条目,array(1)会将1作为参数发送给一个名为array的函数。
并且不要去老师不能解释这么简单的东西的课堂。他们显然不是程序员。
发布于 2018-01-01 14:05:43
tweets(i)在这段代码中失败的原因是,当你说tweets(i)时,javascript会看着它说:“哦,代码想让我找到一个名为tweets的函数,并用一个名为i的参数来执行它。”
当javascript看到tweets[i]时,它会说:“哦,这不是一个函数,代码想让我找到放在数组中的数字,并将存储在数组中的值返回给它。
简而言之,tweets(i)不工作的原因是因为您告诉它警告一个您尚未定义的函数。
发布于 2018-01-01 14:17:08
()是一个方法调用操作符,x是一个成员访问操作符。由于数组不是函数(例如typeof array !== 'function'),因此只能在数组上使用成员访问运算符。
备注:
例如:
var func = function() { return 'hello'; };
func.world = 'earth'
console.log(func());
console.log(func['world'])
console.log(func.world)https://stackoverflow.com/questions/48047460
复制相似问题