day16学习 前端JavaScript 基础

JavaScript基础

JS (JavaScript) 控制网页的行为

JS是互联网中最流行的脚本语言, 网页、小程序、app等

  1. JS是脚本语言

  2. JS是轻量级的编程语言

  3. JS是可插入HTML页面的编程代码

  4. 所有现代浏览器均可执行JS代码

JS代码可以借助<script>标签放到<head>或者<body>标签中

JS是由三部分组成:JS语法文档对象(DOM)浏览器对象(BOM)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- 第一种js引入方式 -->
		<script type="text/javascript">
			// js代码注释(单行注释)
			/*
			js代码注释的多行注释
			*/
		   // document --> 指代HTML
		   // write --> 写入
		   document.write("<h1>这是一个标题</h1>")
		   document.write("<p>这是一个段落</p>")
		</script>
		
		<!-- 第二种引入js方式 -->
		<script type="text/javascript" src="js/demo1.js"></script>
	</body>
</html>

分支结构

  • 语法1:
    if(条件语句){
    代码块
    }else{
    代码块
    }

  • 语法2:
    if (条件){
    代码块
    }else if(条件){
    代码块
    }else if(条件){
    代码块
    }else{
    代码块
    }

分支结构:else可以省略不写

  • 三目运算符:
    • python版:结果1 if 条件 else 结果2
    • java、c、js版:条件?结果1:结果2 - 条件成立,结果1;反之,结果2
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 定义变量
			// 变量名 = 变量值(全局变量)
			num = 1
			// consol:控制台
			// log:日志
			console.log(num)
			
			// var 变量名 = 值(函数中的局部变量)
			var age = 18
			console.log(age)
			
			// let 变量名 = 值({}中的局部变量)
			let gender = '男'
			console.log(gender)
			
			// const 变量名 = 值(常量)
			const stu_id = 'python001'
			console.log(stu_id)
			
			// 2. 运算符:
			// 1)数学运算符:+、-、*、/、%、**
			console.log(1 + 1)
			console.log(2 / 3)
			console.log(2 % 3)
			
			// 2)比较运算符:>、<、>=、<=、==、!=、===、!==
			console.log(10 > 20)	// false
			// 两边的元素转化成字符串以后是否相等
			console.log(5 == 3)
			console.log('5' == 5)		// true
			// 两边的元素转化成字符串以后是否不相等
			console.log('5' != 5)		// false
			// === 直接判断两边数据是否相等
			// !== 直接判断两边数据是否不相等
			
			// 3)赋值运算符:=、+=、-=、*=、/=、**=、%=
			num_1 = 3
			num_2 = 6
			num_1 += num_2
			// 和python同理
			console.log(num_1)
			
			// 逻辑运算符:&&(逻辑与)、||(逻辑或运算)、!(逻辑非运算)
			console.log(4 > 3 && 4 < 5)
			console.log(4 > 3 && 4 > 5)
			console.log(4 > 3 || 4 > 5)
			console.log(!(4 > 3 || 4 > 5))
		  
		  
		  age = 18
		  if (age >= 18){
			  console.log('成年')
		  }else{
			  console.log('未成年')
		  }
		  
		  console.log(age >= 18?'成年':'未成年')
		  
		  year = 2000
		  if(year % 4 === 0 && year % 100 !== 0){
			  console.log('闰年')
		  }else if(year % 400 === 0){
			  console.log('闰年')
		  }else{
			  console.log('平年')
		  }
		  
		  weight = 60
		  height = 1
		  if (18.5 <= weight/(height ** 2) && weight/(height ** 2) <= 24.9){
		  	console.log(true)
		  }else{
		  	console.log(false)
		  }
		</script>
	</body>
</html>

循环

  1. for-in循环
    for(变量 in 序列){代码块}

  2. while
    while(条件语句){代码块}

  3. 传统for循环
    for(表达式1;表达式2;表达式3){代码块}

  4. 传统for循环改while循环
    表达式1

    while(表达式2){

    ​ 代码块

    ​ 表达式3

    }

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>		
			// 计算1到100的和
			// while循环
			i = 1
			total = 0
			while (i <= 100){
				total += i
				i += 1
			}
			console.log(total)
			// 传统for循环
			total = 0
			for (i=0;i<=100;i+=1){
				total += i
			}
			console.log(total)
			
			// for-in循环取的是序列中每个元素的下标
			// 通过 序列[下标] 的形式再将元素取出
			list1 = [10, 20, 30, 40]
			for (i in list1){
				console.log(list1[i])
			}
			
			// document.cookie ----  获取用户的账号密码信息的cookie		
			str1 = 'abc123'
			for (i in str1){
				console.log(i)
			}
		</script>
	</body>
</html>

函数

函数:将重复的代码封装起来,以便重复调用。

作用:

  1. 降低代码的冗余度。
  2. 将执行某一功能的代码封装起来,更容易让人理解

在JavaScript中如何封装函数

  1. 定义函数
    function 函数名(形参列表){函数体}
  2. 调用函数
    函数名(实参列表)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
		   
		   // 计算1~N的值
		   function num_total(n){
			   total = 0
			   for (i=1;i<=n;i+=1){
				   total += i
			   }
			   console.log(total)
		   }
		   
		   num_total(100)
		   num_total(50)
		   
		   // 练习:计算10和20的和
		   // 计算100和30的和
		   function num_sum(a, b){
			   console.log(a + b)
		   }
		    
			num_sum(10, 20)
			num_sum(100, 30)
		</script>
	</body>
</html>

数组

  • js中的数组就是Python中的列表

  • 数组只有正向下标

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			list1 = ['Python', 'JavaScript', 'C', 'HTML']
			// 数组的增删改查
			// 增加:push - 向数组末尾添加新元素
			list1.push('C++')
			console.log(list1)
			
			// 删除:pop() - 删除数组中的最后一个元素
			list1.pop()
			console.log(list1)
			list1.pop()
			console.log(list1)
			
			// 修改
			list1[1] = 'Java'
			console.log(list1)
			
			// 删除:splice(下标,个数) - 从指定下标开始,删除指定个数的数据
			list1.splice(0,2)
			console.log(list1)  
			// ['C']
			
			// 查找:
			console.log(list1.length)
			// 1
			console.log(list1[1])
			// undefined 超出范围
		</script>
	</body>
</html>

字符串

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 字符串:'' 或者 ""
			a = 'abcd'
			b = '1234'
			// 字符串的拼接
			console.log(a + b)
			// 字符串的重复(不可用)
			// console.log(a*2)   NaN
			// 字符串比较大小符合编码值比较大小规则
			console.log(a > b)
			//  true
			// 查看字符串的长度
			console.log(a.length)
			// 格式化输出
			age = 18
			name = '张三'
			str1 = `${name}今年${age}`
			console.log(str1)
		</script>
	</body>
</html>

字典

字典:{}表示容器

{key:value}key:说明; value:值

  1. key:value
  • key:js中可以用引号引起来,也可以不使用引号;

  • python中key如果是字符串必须使用引号

  1. 调用字典中的元素
    • 方法一:字典[key] - []中的key必须加引号(Python只能使用 字典[key]
    • 方法二:字典.key - .key不需要加引号
  2. 字典的长度(字典是无序的没有长度,JavaScript和python都一样)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			stu_info_dict = {name:'小红', age:20, score:100, weight:50,height:170}
			console.log(stu_info_dict)
			
			console.log(stu_info_dict['name'])
			console.log(stu_info_dict.name)
		
			// console.log(stu_info_dict.length)
			
			// 字典的实际应用
			stu = [
				{name:'李华', age:20},
				{name:'李刚', age:25},
				{name:'小明', age:17}
			]
			// 将成年的学生的名字打印出来
			for (x in stu){
				if (stu[x]['age'] >= 18){
					console.log(stu[x]['name'] )
				}
			}
		</script>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值