徐锦杰
2016-11-02 21:44
对变量定义var没有很明白其含义。
有学过c语言,在c中定义变量是根据数据类型的,比如int double char等,那var是指什么?
另外 “=” 是赋值 的含义,那 我定义 var num=alert(”99“),意思应该是将alert(”99“)赋值给”num"吧? 为什么我去引用num的时候 num的赋值会是”99“呢?
首先JavaScript是一门弱类型的语言(个人感觉更加简单),他会自动隐式转换类型,所有的变量命名都用var,不管是数组,整型。浮点型。
至于你使用那句,表示看不懂,后面是一个y语句,调用window的一个alert方法,输出99,这样一个方法复制给一个变量。语法上是错误的,我用FIrefox,发现num会是一个undefined的值,这符合我理解,你这个99表示疑惑。
你这个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>
var就是variable的缩写,在JS中的变量是弱类型,不需要指定类型,并且还可以随时赋值改变它的类型。与C语言不同。另一个问题,我没有去试,但是我觉得alert这个方法的返回值就是“”中输出的值,num被赋值的是alert这个方法的返回值。
你估计没试过python,二者都是脚本语言,是动态的。没有类型之分。判断类型的任务交给了后台的解释器。
interpreter
var a = 99
a = ‘one’
这里的a只是一个容器,当我装99时候a就是整数,当我
JavaScript入门篇
741589 学习 · 9869 问题
相似问题