当前位置: 首页 > article >正文

JavaScript期末复习日记1——基本语法操作01

 示例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>基本语法操作</title>
	</head>
	<body>
		
		<script>
			//合法标识符
			var aaa;
			var _bbb;
			var $s;
			
			//不合法标识符
			// var for = 0;
			// var %oo;
			// var 2u;
			
			//常量
			const PI = 3.1415;
			//变量
			var num;
			var data =100;
			
			
			//也可以不声明(但不建议)
			x= 100;
			console.log(x)
			
			//数据类型
				//数值型
				var n = 100;
				var m = 3.14;
				//布尔型
				var flag = true;
				//字符串
				var str  = "hello"
				
				//特殊
				var z = null;
				var zz =undefined;
			//全局变量 局部变量
			var dataa = 1000;
			window. test = 50;
			alert(test)
			
			function a(){
				var data = 1000;
				console.log(data)
			}
			a();
			//数据类型判断
			console.log(typeof(n))
			console.log(typeof(flag))
			console.log(typeof(str))
			console.log(typeof(z))
			console.log(typeof(zz))
			
			//变量提升
			console.log(jj)
			var jj;
			
			
			
			//运算符
			num = 2*data;
			var as = num+data;
			console.log(as)
		</script>
		
	</body>
</html>

解释:

这段代码覆盖了JavaScript的基本语法操作,包括变量声明、数据类型、全局和局部变量、数据类型判断以及变量提升等概念。下面是对你代码中每个部分的简要解释和一些额外的说明,帮助你更好地复习:

  1. 合法与不合法标识符‌:

    • 合法标识符:aaa_bbb$s。这些变量名符合JavaScript的命名规则。
    • 不合法标识符:for%oo2ufor是JavaScript的保留关键字,不能用作变量名。%oo2u以非法字符开头或包含非法字符。
  2. 常量与变量‌:

    • 使用const声明的常量PI,其值在声明后不能改变。
    • 使用var声明的变量numdata等,可以在后续代码中重新赋值。
    • 未声明直接使用的变量x,虽然JavaScript不会报错,但这不是一个好的编程习惯,因为它会隐式地创建一个全局变量。
  3. 数据类型‌:

    • 数值型:n = 100m = 3.14
    • 布尔型:flag = true
    • 字符串:str = "hello"。注意字符串应该用引号括起来。
    • 特殊类型:null表示空值,undefined表示未定义的值。
  4. 全局变量与局部变量‌:

    • 全局变量:在函数外部声明的变量(如dataa)或在任何地方未使用varletconst声明的变量(如xtest,尽管test是通过window对象声明的,但它仍然是一个全局变量)。
    • 局部变量:在函数内部声明的变量(如a函数中的data)。
  5. 数据类型判断‌:

    • 使用typeof运算符可以判断变量的数据类型。
  6. 变量提升‌:

    • 在JavaScript中,使用var声明的变量会被提升到作用域的顶部。因此,即使jj在声明之前被使用,JavaScript也不会报错(但会返回undefined)。然而,这是一个容易引发错误的行为,因此在现代JavaScript编程中,推荐使用letconst来避免变量提升。
  7. 运算符‌:

    • 代码中的num = 2*data;var as = num+data;展示了基本的算术运算符的使用。

http://www.kler.cn/a/441393.html

相关文章:

  • 开发环境搭建-3:配置 nodejs 开发环境 (fnm+ node + pnpm)
  • HTML一般标签和自闭合标签介绍
  • 【游戏设计原理】82 - 巴斯特原则
  • 衡量算法性能的量级标准:算法复杂度
  • 【安当产品应用案例100集】034-安当KSP支持密评中存储数据的机密性和完整性
  • Jenkins pipline怎么设置定时跑脚本
  • Java开源位图(Bitmap)工具库和框架
  • vscode的copilot提示e.replace is not a function
  • Amazon Bedrock与AWS服务的无缝集成,如何打造智能化应用
  • 约瑟夫环四种解法(数组,链表,递归,数学归纳)C/C++
  • 【学习笔记】桌面浏览器的视口
  • 【mysql】大型互联网项目为什么考虑禁止使用外键
  • 中阳科技:量化模型驱动的智能交易革命
  • DATA-HUB 安装与启动:
  • 静态路由、RIP、OSPF、BGP的区别
  • Qt 实现 UDP 广播的详细教程
  • 部署WordPress6.7.1版本(官网最新版本)
  • C# 机器视觉-RANSAC算法拟合圆
  • 基于RRT(Rapidly-exploring Random Tree)的无人机三维路径规划,MATLAB代码
  • 【Redis】一人一单秒杀活动
  • Spring Boot 启动时间优化全攻略
  • macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)
  • Nodejs架构
  • 【MySQL中多表查询和函数】
  • Linux 入门指南(详细版:基于 CentOS,使用 WSL 环境)
  • 【Linux】软件包管理与vim工具使用详解