变量可以不声明,直接使用。这句话是什么意思,能举个例子吗?
Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。
JS中变量申明分显式申明和隐式申明。
Var i=100 显示申明
i=100 隐式申明
在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。
当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。
var num = 1是在当前域中声明变量. 如果在方法中声明,则为局部变量;如果是在全局域中声明,则为全局变量。而num = 1,事实上是对属性赋值操作。首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc。。。)中解析 num; 如果在任何当前作用域链中找到num,则会执行对num属性赋值; 如果没有找到num,它才会在全局对象(即当前作用域链的最顶层对象,如window对象)中创造num属性并赋值。
注意!它并不是声明了一个全局变量,而是创建了一个全局对象的属性。
”单元“ 错了,是“但愿”
就像课件里面写的一样:变量mychar是先用var定义(也就是声明变量)【var mychar;】,然后才赋值 【mychar="javascript";】,【var mynum = 6;】这句话是在定义的同时,给变量赋值。但是如果把【var mynum = 6;】改成【mynum = 6;】则在你提交时就会报错,说是:定义变量使用var关键字,即没有定义变量,直接使用了
var mychar; mychar="javascript"; var mynum = 6;
单元你能看懂,