Attack speed is a measure of how fast units attack relative to their base attack time. In game, increased attack speed (IAS) is granted by items, buffs from spells and auras, agility, and passive abilities.
Attack speed is represented in game as a number, usually with a percentage sign (%), but sometimes not. Regardless of whether a percentage sign is included or not, the meaning is the same.
Each point of agility (either base agility or bonus agility from items and abilities) gives 1 IAS.
All sources of IAS stack additively: for instance, if a hero has 30 agility, a Hand of Midas, and is affected by a Shiva's Guard aura from an enemy unit, the hero will have 30+30-40=20 total IAS.
If a unit has 0 IAS, it can attack only once every base attack time (BAT). Increased Attack speed represents the amount your attack speed has increased (or, when negative, decreased) as a percentage of your BAT in the following sense: A unit with x IAS will attack x/100 more times per second than if it had 0 IAS.
There is a maximum and minimum IAS a unit can have. IAS is capped at -80 and 400, meaning there will always be a minimum of BAT/5 seconds between two attacks.
Source: http://www.playdota.com/mechanics/attackspeed
Example:
Thief has a
BAT of 1.5
If the Thief has max (400)
IAS, then each attack will:
Attacks per second = (1 +
IAS)/
BAT = 3.3 attacks per second.
Seconds per attack = BAT/(1 +
IAS)= 0.3 seconds.
Edit:
My level 16 Thief's attack speed:
Base Attack Timer: 2.0 seconds (2
BAT)
Increased Attack Speed: 30% (30
IAS from
Sickle and
Brandished Knife)
Attacks per second: (1 +
IAS)/
BAT = 0.65 attacks per second.
Remember to IAS / 100 before using it in the fomula above.