1. 总所周知,there be句型中的be动词的数必须采用就近原则,即和be后面的第一个名词的数/性保持一致.
2. 该句中,第一个名词是number(单数),并非restaurants,所以当然用there has been,而不是there have been.
3. 如果该句是:There have always been huge numbers of Italian, Chinese and Japanese restaurants.
虽然句意一样,但此时必须用have,因为第一个名词是numbers.