guessljl
2016-07-19 16:12
req1=app2(5,6);
req2=app2(2,3);
sumq=req1+req2;
document.write("req1的值:"+req1+"<br/>");
document.write("req2的值:"+req2+"<br/>");
document.write(req1+"与"+req2+"和:"+sumq);
这里的req1,req2,sumq为什么不用定义就可以用?
js可以随时调用一个字母作为变量,第一次调用的时候隐含的就进行了var声明。在定义一个没有被赋值的变量时是需要var定义的。
进行赋值req1=1(不带var),执行过程如下:
情况一
该语句是在函数体(function)内,就先在函数体内找变量req1,如果找到,就是给它赋值;
如果找不到,继续往上在函数体外找变量req1,找到赋值;还是找不到,就会自动在函数体外定义变量var req1.
情况二(即你的语句)
全局,往上找变量req1,找到赋值;找不到,就会自动定义变量var req1.
JS 是弱类型解析语言,可以定义也可以不定义,运行时会自动识别类型
未声明,则识别为全局变量。
js可以随时调用一个字母作为变量,第一次调用的时候隐含的就进行了var声明。所以是不需要定义的。
JavaScript进阶篇
468195 学习 · 21891 问题
相似问题