JavaScript的核心语法

news/2024/7/7 6:13:50

JavaScript

  • JavaScript:
    • JavaScript的组成:
    • 核心语法:
      • Hello:
      • 变量:
      • JS的基本数据类型:
        • 特殊点:
      • 数组:
      • 流程控制语句:
      • 函数:
        • 函数的重载:
        • 函数的递归:
        • 预定义函数:

JavaScript:

Javascript是基于对象和事件驱动的脚本语言,主要是嵌入到HTML中,应用在客户端,动态操作网页元素,也可以作用于服务端。
 
特点:

  1. 交互性(表单校验,信息提示,动态数据图表,ajax异步提交,解析服务端响应数据等等)。

  2. 安全性(不可以直接访问本地硬盘)。

  3. 跨平台性(由浏览器解析执行,和平台无关)。

JavaScript的组成:

DOM – >Document Object Model

BOM – >Browser Object Model

 
 

核心语法:

Hello:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		
		<script type="text/javascript">
			
			//弹框
			//alert("HelloWorld...1");
			
			//控制台输出
			console.log("HelloWorld...1");
			
		</script>
		
	</head>
	<body>
		
		<script type="text/javascript">
			
			//弹框
			//alert("HelloWorld...2");
			
			//控制台输出
			console.log("HelloWorld...2");
		</script>
		
	</body>
</html>

 
 

变量:

语法格式:
var 变量名 = 值;
 
注意:
       1. var表示变量。
       2. 变量的类型随着值的类型发生改变

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			
			var v = 100;
			console.log(v);
			
			v = "abc";
			console.log(v);
			
		</script>
		
	</body>
</html>

 
 

JS的基本数据类型:

分类:
       number - 数值型
       string - 字符串类型
       boolean - 布尔类型
       undefined - 未定义类型
       null - 空类型

tips:

  1. number类型不分整数和小数。
  2. string类型的值可以用单引号也可以用双引号括起来。
  3. string类型和Java的String类型写法不一样。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
		
			
			//number - 数值型
			//注意:number类型不分整数和小数
			var num = 100;
			console.log(num);//100
			num = 123.123;
			console.log(num);//123.123
			
			//string - 字符串类型
			//注意:string类型的值可以用单引号也可以用双引号括起来
			var str = 'abc';
			console.log(str);
			str = "abc";
			console.log(str);
			
			//boolean - 布尔类型
			var bool = true;
			console.log(bool);//true
			bool = false;
			console.log(bool);//false
			
			//undefined - 未定义类型
			var v;
			console.log(v);
			v = undefined;
			console.log(v);
			
			//null - 空类型
			var xx = null;
			console.log(xx);
			
			
		</script>
	</body>
</html>

 
 

特殊点:
  1. number类型的特殊点:Infinity表示无穷大。
  2. string类型的特殊点:string加号是字符串拼接符,其余是算数运算符。
  3. boolean类型的特殊点:“”、0、undefined、null表示false。
  4. ==判断两个值是否相等,===判断两个值+类型是否相等。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			
			//number类型的特殊点
			//注意:Infinity表示无穷大
			console.log(Infinity + (-Infinity));//NaN - Not a Number
			
			//string类型的特殊点
			//注意:string加号是字符串拼接符,其余是算数运算符
			var str1 = "10";
			var str2 = "3";
			console.log(str1 + str2);//103
			console.log(str1 - str2);//7
			console.log(str1 * str2);//30
			console.log(str1 / str2);//3.3333333335
			console.log(str1 % str2);//1
			
			//boolean类型的特殊点
			//注意:""、0、undefined、null表示false
			if(""){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(0){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(undefined){
				console.log("true");
			}else{
				console.log("false");
			}
			
			if(null){
				console.log("true");
			}else{
				console.log("false");
			}
			
			//undefined vs null
			var v1 = undefined;
			var v2 = null;
            //typeof判断引用的数据类型
			console.log(typeof v1);//undefined
			console.log(typeof v2);//object
			
			//== vs ===
			//==判断两个值是否相等
			//===判断两个值+类型是否相等
			var v3 = 10;
			var v4 = "10";
			console.log(v3 == v4);//true
			console.log(v3 === v4);//false
		</script>
		
	</body>
</html>

 
 

数组:

​ JS的数组和Java的数组不一样,Java数组定义大小后就不能改变长度了,而JS数组可以随意改变长度。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			
			var arr = ["小红","小明","小灰"];
			
			//设置指定下标上的元素
			arr[0] = "小黑";
			
			//获取指定下标上的元素
			console.log("获取指定下标上的元素:" + arr[0]);//小黑
			
			//获取元素个数
			console.log("获取元素个数:" + arr.length);
			
			//添加元素
			arr[3] = "小白";
			arr[4] = "小绿";
			arr[10] = "小蓝";
			
			//删除元素
			delete arr[4];
			
			console.log("--------------------");
			
			//遍历数组 - for循环
			for(var i = 0;i<arr.length;i++){
				console.log(arr[i]);
			}
			
			console.log("--------------------");
			
			//遍历数组 -- for-in
			//注意:遍历有效元素的下标(undefined的元素认为是无效元素)
			for(var index in arr){
				console.log(arr[index]);
			}
			
		</script>
		
	</body>
</html>

 
 

流程控制语句:

  1. If else
  2. For
  3. For-in(遍历数组时,跟Java是否一样)
  4. Whil
  5. Do while
  6. break 语句用于跳出循环。
  7. continue 用于跳过循环中的一个迭代。

需求:求1-100之间的偶数之和。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
		
			var sum = 0;
			for(var i = 1;i<=100;i++){
				if(i%2 == 0){
					sum += i;
				}
			}
			
			console.log("1~100之间偶数之和为:" + sum);
			
			
		</script>
		
	</body>
</html>

 
 

需求:我的梦想:第一个月存3000,每年递增1000,问多少个月后可以存到20万元。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
		
			var allMoney = 0;
			var money = 3000;
			var month = 0;
			
			while(allMoney < 200000){
				allMoney += money;
				month++;
				if(month % 12 == 0){
					money += 1000;
				}
			}
			
			console.log(month + "个月后存满20万");
			
			
			
		</script>
		
	</body>
</html>

 
 

需求:

打印图形

					*
					**
					***
					****
					*****
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			
			
			for(var i = 0;i<5;i++){
				for(var j = 0;j<=i;j++){
					document.write("*");
				}
				document.write("<br/>");
			}

		</script>
		
	</body>
</html>

 
 


函数:

语法结构:
 
function 函数名(参数列表){

…代码块…
}

注意:函数就是方法。

函数分类:
       1. 无参无返回值的函数。
       2. 带参数的函数。
       3. 带返回值的方法。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//无参无返回值的函数
			function fun01(){
				console.log("今天天气真好1");
			}
			fun01();
			
			//带参数的函数
			//注意:形参不需要加类型,调用方法时可以传参也可以不传参
			function fun02(a,b){
				console.log("今天天气真好2:" + a + " -- " + b);
			}
			fun02();
			fun02(10,20);
			fun02("xxx","yyy");
			fun02("abc",12345);
			
			//带返回值的方法
			//注意:JS函数里的返回值不用像Java方法里必须指定返回值类型
			function fun03(){
				return "今天天气真好3";
			}
			var v = fun03();
			console.log(v);
		</script>
	</body>
</html>

tips:

​        1. 形参不需要加类型,调用方法时可以传参也可以不传参。

​        2. JS函数里的返回值不用像Java方法里必须指定返回值类型。

 
 

函数的重载:

JS的函数里没有重载的概念,后面定义的相同名称的方法会覆盖前面相同名称的方法。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			
			function fun(a,b){
				alert(a+b);
			}
			
			function fun(a,b,c){
				alert(a+b+c);
			}
			
			//a - 10
			//b - 20
			//c - undefind
			fun(10,20);//NaN
		</script>
	</body>
</html>

 
 

函数的递归:

递归是一种思想,只要是面向对象的语言都有这个思想。

需求:设计一个函数,传入n,求n的阶乘。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
		
			function fun(n){
				if(n != 1){
					return fun(n-1)*n;
				}else{
					return 1;
				}
			}
			
			var num = fun(5);
			alert(num);
		</script>
	</body>
</html>

 
 

预定义函数:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			
			console.log("判断参数是否是数字:" + isFinite("abc"));//false
			console.log("判断参数是否不是数字:" + isNaN("abc"));//true
			console.log("将字符串转换为整数:" + parseInt("100.123"));//100
			console.log("将字符串转换为小数:" + parseFloat("100.123"));//100.123
			
			var str = "alert('今天真是个好日子');";
			eval(str);//认为字符串为js代码去执行
			
		</script>
		
	</body>
</html>


http://lihuaxi.xjx100.cn/news/2196317.html

相关文章

C++ AVL树 详细讲解

目录 一、AVL树的概念 二、AVL树的实现 1.AVL树节点的定义 2.AVL树的插入 3.AVL树的旋转 4.AVL树的验证 三、AVL树的性能 四、完结撒❀ 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但 如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查 …

Alsa UCM

Alsa Use Case Manager&#xff08;用例管理器&#xff09;描述如何为某些用例&#xff08;如 “播放音频”、“通话”&#xff09;设置 mixer 混频器。它还描述如何修改 mixer 混频器状态以将音频路由到某些输出和输入&#xff0c;以及如何控制这些设备。 这基本上涵盖了 Pul…

Python | 开房门(map)

常把map称之为映射&#xff0c;就是将一个元素&#xff08;通常称之为key键&#xff09;与一个相对应的值&#xff08;通常称之为value&#xff09;关联起来 通常用**字典dict**实现了映射这种数据结构 字典也是使用{}来包裹&#xff08;set也是{}&#xff09;&#xff0c;每…

5 分钟内构建一个简单的基于 Python 的 GAN

文章目录 一、说明二、代码三、训练四、后记 一、说明 生成对抗网络&#xff08;GAN&#xff09;因其能力而在学术界引起轩然大波。机器能够创作出新颖、富有灵感的作品&#xff0c;这让每个人都感到敬畏和恐惧。因此&#xff0c;人们开始好奇&#xff0c;如何构建一个这样的网…

YOLOv8---seg实例分割(制作数据集,训练模型,预测结果)

YOLOv8----seg实例分割&#xff08;制作数据集&#xff0c;训练模型&#xff0c;预测结果&#xff09; 内容如下&#xff1a;【需要软件及工具&#xff1a;pycharm、labelme、anaconda、云主机&#xff08;跑训练&#xff09;】 1.制作自己的数据集 2.在yolo的预训练模型的基础…

windows11搭建 stable-diffusion-webui

2024年5月22日23:46:57 建议电脑配置 电脑配置&#xff1a; Intel Core™ Ultra 5 125H 1.20 GHz 32.0 GB (31.6 GB 可用) 系统&#xff1a;windows11 注意&#xff1a;最好挂上外网&#xff0c;或者设置好访问github的dns&#xff0c;不然很可能失败 1&#xff0c;安装 An…

CodeMeter助力Hilscher,推动实现全球智能制造连接解决方案

Hilscher的旗舰店为开放工业4.0联盟&#xff08;OI4&#xff09;社区提供了应用商店的便捷和开放性&#xff0c;将这一概念引入工业领域。该商店依托CodeMeter的许可证管理和加密保护&#xff0c;为工业用户提供了丰富的应用和解决方案库&#xff0c;满足他们在车间自动化和连接…

计算机视觉与模式识别实验2-2 SIFT特征提取与匹配

文章目录 &#x1f9e1;&#x1f9e1;实验流程&#x1f9e1;&#x1f9e1;SIFT算法原理总结&#xff1a;实现SIFT特征检测和匹配通过RANSAC 实现图片拼接更换其他图片再次测试效果&#xff08;依次进行SIFT特征提取、RANSAC 拼接&#xff09; &#x1f9e1;&#x1f9e1;全部代…