数据类型和变量

博客介绍了JavaScript中变量的定义方式,包括隐式和显式定义,可定义多变量并指定初始值。还阐述了类型转换,减号运算时字符串转数值,加号运算时数值转字符串。同时说明了局部变量和全局变量的作用域,局部变量会覆盖同名全局变量,以及var和let变量的相关特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

隐式定义:直接给变量赋值。

<script type="text/javascript">
a="Hello JavaScript";
alert(a);
</script>

显式定义:使用var关键字定义变量。

<script type="text/javascript">
var a;
a=true;
alert(a);
</script>

允许定义多个变量,也可以在定义变量时为变量指定初始值。

var a,b,c;
var i,j=0,k=0;

类型转换

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript" >
	var a="3.145";
	var b=a+2;
	var c=parseFloat(a)+2;
	alert(b+"\n"+c);
	</script>
</head>
<body>
</body>
</html>

对于减号运算符,因为字符串不支持减法运算,所以系统自动将字符串转换成数值。
对于加号运算符,因为字符串可以用加号作为连接运算符,所以系统自动将数值转换成字符串,并将两个字符串进行连接运算。
在函数里定义的变量称为局部变量,局部变量只在函数内有效。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
	var test="全局变量";
	function myFun()
	{
		age=20;
		var isMale=true;
	}
	myFun();
	alert(test+"\n"+age);
	alert(isMale);
	</script>
</head>
<body>
</body>
</html>

如果全局变量和局部变量使用相同的变量名,则局部变量将覆盖全局变量。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
	var test="全局变量";
	function checkScope()
	{
		var test="局部变量";
		alert(test);
	}
	checkScope();
	alert(test);
	</script>
</head>
<body>
	<div>疯狂HTML 5/css 3/asklmc</div>
</body>
</html>

JavaScript的变量没有块范围:

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
		function test(o)
		{
			var i=0;
			if(typeof o=="object")
			{
				var j=5;
				for(var k=0;k<10;k++)
				{
					document.write(k);
				}
			}
			alert(k+"\n"+j);
		}
		test(document);
	</script>
</head>
<body>
</body>
</html>

如果使用var定义变量,那么程序会强制定义一个新变量。如果前面已经定义了同名的全局变量,此时就是对已有的全局变量赋值。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
		var x="全局变量"</script>
</head>
<body>
	<input type="button" value="局部变量"
		onclick="var x='局部变量';alert('输出x局部变量的值:'+x);"/>
	<input type="button" value="全局变量"
		onclick="var x='局部变量';alert('输出x全局变量的值:'+x);"/>
</body>
</html>

当局部变量和全局变量同名时,局部变量会覆盖全局变量。

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
		var scope="全局变量";
		function test()
		{
			document.writeln(scope+"<br >");
			var scope="局部变量";
			document.writeln(scope+"<br >");
		}
		test();
	</script>
</head>
<body>
</body>
</html>

let变量

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
	<script type="text/javascript">
	var name="yeeku"
	function func()
	{
		console.log(name);
		let name='fkit';
		console.log(name);
	}
	func();
	</script>
</head>
<body>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值