./script.sh expects that this file is in the current directory, has execute bit set and the first line of the file is path to the interpreter to start with ( Shebang line )
bash script.sh means that you invoke bash and pass the contents of the file to be executed(interpreted) as bash commands. This way your file doesn't need to be executable and has a shebang line.
If the conditions for ./script.sh are met then both invocations lead to the same result.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…