变量可以不声明,直接使用???

来源:1-7 JavaScript-什么是变量

人生_没有如果

2015-05-15 22:55

变量可以不声明,直接使用。这句话是什么意思,能举个例子吗?

写回答 关注

3回答

  • 成者并非一蹴而就
    2015-05-15 23:30:43

    Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。

    JS中变量申明分显式申明和隐式申明。

    Var i=100  显示申明

    i=100  隐式申明

    在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。

    当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。

    var num = 1是在当前域中声明变量. 如果在方法中声明,则为局部变量;如果是在全局域中声明,则为全局变量。而num = 1,事实上是对属性赋值操作。首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc。。。)中解析 num; 如果在任何当前作用域链中找到num,则会执行对num属性赋值; 如果没有找到num,它才会在全局对象(即当前作用域链的最顶层对象,如window对象)中创造num属性并赋值。

    注意!它并不是声明了一个全局变量,而是创建了一个全局对象的属性。


  • 小慕001
    2015-05-15 23:17:29

    ”单元“ 错了,是“但愿”

  • 小慕001
    2015-05-15 23:16:39

    就像课件里面写的一样:变量mychar是先用var定义(也就是声明变量)var mychar;】,然后才赋值 【mychar="javascript";】,【var mynum = 6;】这句话是在定义的同时,给变量赋值。但是如果把【var mynum = 6;】改成【mynum = 6;】则在你提交时就会报错,说是:定义变量使用var关键字,即没有定义变量,直接使用了

    var mychar;
    mychar="javascript";
    var mynum = 6;

    单元你能看懂,

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739813 学习 · 9566 问题

查看课程

相似问题