为了账号安全,请及时绑定邮箱和手机立即绑定

关于变量定义var的疑问

对变量定义var没有很明白其含义。

有学过c语言,在c中定义变量是根据数据类型的,比如int  double  char等,那var是指什么?

另外 “=” 是赋值 的含义,那 我定义 var num=alert(”99“),意思应该是将alert(”99“)赋值给”num"吧? 为什么我去引用num的时候 num的赋值会是”99“呢?

正在回答

4 回答

首先JavaScript是一门弱类型的语言(个人感觉更加简单),他会自动隐式转换类型,所有的变量命名都用var,不管是数组,整型。浮点型。

至于你使用那句,表示看不懂,后面是一个y语句,调用window的一个alert方法,输出99,这样一个方法复制给一个变量。语法上是错误的,我用FIrefox,发现num会是一个undefined的值,这符合我理解,你这个99表示疑惑。

0 回复 有任何疑惑可以回复我~
#1

徐锦杰 提问者

是我举错例了,刚看到confirm跟prompt有点不理解,其实就是函数返回值的赋值吧。
2016-11-02 回复 有任何疑惑可以回复我~
#2

老友丶

对的,后面那个可以赋值。就酱
2016-11-02 回复 有任何疑惑可以回复我~
#3

徐锦杰 提问者

非常感谢!
2016-11-02 回复 有任何疑惑可以回复我~


你这个num的数据类型是undefined,并不是数字,只是再次引用的时候具有有数字类型的nan属性。

你可以直接在alert(num); 看看会出来什么。

附上我回答是验证的代码。调试js数据类型可以试试console.log();  在浏览器的控制台看效果。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>js-dom</title>
    </head>
    <body>
        <input type="button" onclick="sun()" value="1"  />
        <p id="chr1">test</p>
        
        
        <script type="text/javascript">
            function sun(){
                var num=alert("99");
                alert(num);
                
                var x = 10;
                var a = alert(document.getElementById("chr1"));
                var b = document.getElementById("char1");
                var c = document.getElementById("chr1");
                var d = document.getElementById("chr1").getAttribute("value");
                var e = alert("66");
                var f = e + 10;
                var g = x + 10;
                alert(f);
                console.log(x);
                console.log(a);
                console.log(b);
                console.log(c);
                console.log(d);
                console.log(e);
                console.log(f);
                console.log(g);
                
            }    
        </script>
        
    </body>
</html>

http://img1.sycdn.imooc.com//5819ff7e000148d005730716.jpg

0 回复 有任何疑惑可以回复我~

var就是variable的缩写,在JS中的变量是弱类型,不需要指定类型,并且还可以随时赋值改变它的类型。与C语言不同。另一个问题,我没有去试,但是我觉得alert这个方法的返回值就是“”中输出的值,num被赋值的是alert这个方法的返回值。

0 回复 有任何疑惑可以回复我~

你估计没试过python,二者都是脚本语言,是动态的。没有类型之分。判断类型的任务交给了后台的解释器。

interpreter

var a = 99

a = ‘one’

这里的a只是一个容器,当我装99时候a就是整数,当我

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript入门篇
  • 参与学习       738181    人
  • 解答问题       9557    个

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

进入课程

关于变量定义var的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信