<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>变量</title> <script type="text/javascript"> var a="I know"; var a="I don't know"; document.write(a); </script> </head> <body> </body> </html>
数据分析师2017-09-30 23:33:50
변수에 값을 반복적으로 할당할 수 있다는 것은 브라우저가 위에서 아래로 구문 분석한다는 의미가 아닌가요? 표시된 값은 왜 항상 마지막 값인가요? -PHP 중국 웹사이트 Q&A-변수는 반복적으로 값을 할당할 수 있다는 뜻인데, 브라우저가 위에서 아래로 파싱한다는 뜻 아닌가요? 왜 항상 마지막 값이 표시되나요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
迷茫2016-12-22 11:14:24
当你第二次给变量a赋值的时候,第一次的值就被覆盖了,也就是说a的值发生了变化。你可以在第一次赋值的时候做一些测试,例如:var a="I know";document.write(a);此时页面显示I know;然后在var a="I don't know";后面再一次document.write(a);此时的结果就是I don't know。
正如你所说,浏览器从上往下解析,当解析到你第一次给变量赋值的时候,变量的值是I know,这时候你下面要用到这个变量的时候,浏览器就会知道,哦,你是想要使用I know这个值,但是继续往下解析,浏览器看到你又一次给同一个变量赋了一个新值I don't know,它就会认为从你重新赋值开始,下面所有需要用到这个变量的时候,它的值已经改变了。
这里所说的重复赋值,不是同时在起作用,而是你给变量重新赋了一个新值