IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript -> 正文阅读

[JavaScript知识库]JavaScript


一、JavaScript是什么?

一个页面由html css js 组成的!!!

js:相当重要!!!。如果想要学号前端,那些html,css根本没有技术含量的

但是js相当有技术含量!!!,但是咱们主要是做后端的,所以说学js学的比较少!!!可以让你们秀儿出来页面的那种。所以以后不断的学习js,我个人特别喜欢js。因为js是一门独立的语言有自己的语法格式。Js这门语言在语言排名当中没有出过前五名

http://github.com/ 这个需要注册,咱们会讲Git,版本控制,开发必用!!!服务器在国外打开比较慢

JavaScript:简称js。实现网页的动态效果的

JavaSCript和java有什么关系呢?没有关系,借助了java的名气命名。就好比老婆和老婆饼

好比雷锋和雷峰塔没有任何关系的

有自己的独立的语法格式

css修饰html标签的

js也是修饰html标签的,可以标签动起来的一门语言,所以在写代码的时候还是先写html标签

二、Js的三种引入方式

类比css有三种引入方式,这个js也有三种引入方式。因为你也是修饰html标签的
1.相当于行内
2.相当于内联
3.相当于外联

2.1js的初始

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js的三种引入方式</title>
		<!-- 第二种引入方式,类似css内联
		 放在任意位置都可以的,并不只是放在head头标签
		 可以放在网页的任意一个位置
		 写一个script标签,然后在script标签中写js的语法格式就可以了
		 -->
		 <script>
			 var num = 123;//int num = 123;不用指定数据类型,自动识别
			 //控制台打印一些,Java System.out.println()
			 //js控制台打印
			 console.log(num);
		 </script>
		 <!-- 第三种写法类型类似咱们的css的外联 link href
		  script src属性在当前页面引进外部的css文件
		  -->
		  <script src="test.js" type="text/jscript" charset="UTF-8"></script>
	</head>
	<body>
		<!-- 先看第一种写法 
		button  按钮  有一个属性叫做onclick
		这个onclick是当你点击这个按钮的时候执行这个onclick
		这个onclick属性值必须写js的代码
		alert()是js的代码。它是js封装好的一个函数
		这个函数的功能是  弹窗效果!!
		-->
		<button onclick="alert('弹窗,出来了哦!')">点一下</button>
	</body>
</html>

结果如下(示例):
在这里插入图片描述

2.2js输出

使用window.alert()写入警告框
使用document.write()写入HTML输出
使用console.log()写入浏览器控制台

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- 使用window.alert()写入警告框
			使用document.write()写入HTML输出
			使用console.log()写入浏览器控制台
		-->
	</head>
	<body>
	</body>
	<script>
		//window是js封装好的一个对象,默认就是在本窗体在调用
		// window.alert("使用window调用一个叫alert函数");
		//document就是封装好的一个对象,当前文档流对象,当成body的对象
		document.write("我是一个页面");
		// console.log("呵呵哒");
	</script>
</html>

结果如下(示例):
在这里插入图片描述

3.3js语句

类似于java中声明变量如何声明
int a = 12;

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>声明js变量</title>
	</head>
	<body>
	</body>
	<script>
		// 如何声明一个js变量
		var a = 20;
		var b = 30;
		var c = 40;
		console.log(a,b,c);
		var d,e,f;
		d = 20;
		e = 30;
		f = 40;
		console.log(d,e,f);
		// 这个分号带不带都行,但是如果写在一行了,就必须带分号
		var name = "狗蛋";var age = 12;console.log(name,age);
	</script>
</html>

结果如下(示例):

在这里插入图片描述

四、js的数据类型

number 数字(包含了咱们的整数和浮点数)
String 字符串
boolean 布尔类型
object 对象
array 数组 特殊的object

1.首先在当前项目所在的文件夹外面创建一个test.js的文件,代码如下:

/*
	js的基本数据类型:
		1.number  包含了整数和小数
		2.String  字符串
		3.boolean  布尔
	关于js的语法格式的注意事项:
		1.如果js代码不换行写的话,必须带分号,代表一条语句结束
			以后会碰到不换行的写法吗?会,很多!!!
			不换行写的时候,执行效率高,但是可读性差
		2.变量的命名和java变量命名的规则一摸一样
*/
var num = 10;console.log(num)//控制台打印的一个变量num
//怎么知道这个num变量的数据类型呢  typeof
console.log(typeof num)//查看num这个数据类型的  number
var num1 = 3.141555;
console.log(num1)
console.log(typeof num1);//number

//声明字符串类型的数据
//可以使用单引号,也可以使用双引号
var str1 = "你好";
var str2 = '好的很';
console.log(str1)
console.log(str2)
console.log(typeof str1)//string类型的数据
// 字符串拼接输出打印你好好的很
console.log(str1 + str2)
document.write(str1 + str2);

// 布尔类型的数据只有两个值 true false
var ret1 = true;
var ret2 = false;
console.log(ret1)
console.log(ret2);
console.log(typeof ret1);

//字符串的一些操作,和java中的差不多
str2 = str2 + "睡吧";//字符串的拼接,一般用这个
console.log(str2)

str3 = '大肠刺身'.concat(",羊眼刺身");//字符串拼接方法
console.log(str3);

// 分割一个字符串,把一个字符串变成一个数组
var arr = "生吃鸡蛋,生吃韭菜,生吃腰子".split(",")
console.log(arr)//和java数组长的非常像
console.log(arr[2])//生吃腰子,下标从0开始
console.log(typeof arr)//数组也是object 数组也是一个对象

// 去除空格  trim
var str4 = "   干锅榴莲  ";
console.log(str4)
// str4 = str4.trim()//去除首尾空格
str4 = str4.trimLeft()
str4 = str4.trimRight()
console.log(str4)

代码如下(示例1):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js的数据类型</title>
		<script>
			var num = 23;
			console.log(num)//控制台打印
			// 单行注释
			// 多行注释 /**/
		</script>
		<!-- 引入外部的js文件 -->
		<script src="test.js"></script>
	</head>
	<body>
		<!-- js中声明字符串的时候,单引号双引号都可以,但是双引号中不能再有双引号 -->
		<button onclick="alert('是一个弹窗效果')">点一下</button>
	</body>
</html>

结果如下(示例1):
在这里插入图片描述

代码如下(示例2):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div></div>
	</body>
	<!-- 使用js的第二种引入方式 -->
	<script>
		// 对象  以后还会再讲 json对象【重点】
		// 主要是 后端Java代码返回一个json字符串,然后前端(js)
		// 拿到以后转为一个json对象进行操作
		// 全靠这个东西进行前后端数据交互的!!
		// 大括号代表的是一个对象,大括号里面的是键值对的数据
		var student = {"name" : "李白","age" : 28};
		console.log(student)
		// 获取name的值,怎么获取?
		console.log(student.name)
		
		console.log(student.age)
		// 还有一种写法,根据键获取值
		console.log(student["name"])
		// 刚才让大家看了,数组也是object
		// 搞了一个数组,这个数组放了多个对象
		var students = [{"name":"狗蛋","age":34},
						{"name":"翠翠","age":32},
						{"name":"大黄","age":13}]
		console.log(students)
		//获取第一个对象的name值
		console.log(students[0].name)
		// 难一点的对象
		var students1 = {"java" : [{"name":"京京"},{"name":"红红"},{"name":"花花"}]}
		console.log(students1.java[0].name)
		//碰到大括号就使用.通过键获取值
		// 碰到中括号就使用[]索引来获取值
	</script>
</html>

结果如下(示例2):
在这里插入图片描述
代码如下(示例3):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
	<script>
		// 声明一个数组 第一种声明方式
		var arr1  = new Array()
		arr1[0] = 12
		arr1[1] = 23
		console.log(arr1)
		// 第二种声明方式
		var arr2 = ["狗蛋","花花","旺财"];;
		// 取数据
		console.log(arr2[2])//旺财,和java中一样都是通过索引来取值的
		console.log(typeof arr2)//object
	</script>
</html>

结果如下(示例3):
在这里插入图片描述

五、运算符和分支结构

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
	<script>
		//运算符
		/*
		算术运算符: + - * / %
		关系运算符: > < >= <= != == ===
		逻辑运算符:  && || !
		*/
	   /*
		分支结构的语法结构:
			和java一摸一样
			if(){}
			if(){} else{}
			if(){} else if(){} else{}
	   */
	  var num = 20
	  if(num > 20){
		  console.log("heheda")
	  } else {
		  console.log("hahada")
	  }
	  // ==判断数据一致
	  console.log(1 == '1')//比较的是内容,不看数据类型 true
	  console.log(1 === '1')//比较的更加严格,要看数据类型的 false
	  
	  //switch
	  var num1 = 3;
	  switch(num1){
		case 1:
			console.log("给爸爸打电话")
			break;
		case 2:
			console.log("给妈妈打电话")
			break;
		case 3:
			console.log("给爷爷打电话")
			break;
		default:
			console.log("给奶奶打电话")
			break;
	  }
	  // 循环
	  /* js里面的循环  和Java一样,只不过多了一些东西
	  while{}
	  for(){}
	  do{}while()*/
	  var a = 10
	  // while(a-- > 0){
		 //  console.log(a)
	  // }
	  var b = 10
	  // do{
			// console.log(b)
			// b--
	  // }while(b > 0)
	  // for(var i = 0;i<= 10;i++){
		 //  console.log(i)
	  // }
	  // 打印九九乘法表
	  for(var i = 1; i< 10;i++){
		  for(var j = 1;j<= i;j++){
			  document.write(j +" * "+ i+" = " +i*j + "&nbsp;&nbsp;&nbsp;&nbsp")
		  }
		  document.write("<br>")
	  }
	  var student  = {name:"大黄",age:10};
	  // 也可以使用循环 类似于增强for循环
	  // 循环出来key值,有了key值能不能获取value的值
	  for(var studentkey in student){
		  console.log(studentkey + ":" + student[studentkey])
	  }
	  
	  var students = [{"name": "大黄","age":25},{"name":"花花","age":12},{"name":"强强","age":35}]
	  for(var i = 0;i<students.length;i++){
		  console.log(students[i].name)
		  console.log(students[i].age)
	  }
	</script>
</html>

结果如下(示例):
在这里插入图片描述

六、函数

js中函数的语法格式

function 方法名字(参数1,参数2,参数3){
要执行的代码
}
代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
	<script>
		// 声明一个函数,函数是一个功能
		// function alertInfo(a){//带有一个参数的方法,不用带数据类型
		// alert(a)//没有返回值,只是一个弹窗效果
		// }
		// 函数调用
		// alertInfo("呵呵哒")
		// function add(a,b){
		// 	return a + b//有返回值的
		// }
		// var num = add(3,2)
		// console.log(num)//NaN  not a number  咱们代码出错的时候,额没有报错,但是nan错
		function add(a,b,c){//没有方法的重载
			return a + b + c
		}
		var num1 = add(3,2,1)
		console.log(num1)
		//开发中很少声明同名的方法
		
		// 匿名函数,就是没有名字的函数
		var func = function (a,b){
			return a + b
		}
		// 变量名字(),就相当于调用了这个匿名函数
		console.log(func(2,3))
		
		// 讲解一下闭包
		var arr = [10,5,70,50]
		// js中方法的参数可以是一个匿名函数,这个匿名函数被称为闭包
		//当a-b是一个整数的话 a 大于 b a 和 b 交换位置
		document.write(arr.sort(function(a , b){
			return a - b
		}))
		document.write("<br />")
		var arr1 = [10,12,86,35,21]
		//js中方法的参数可以是一个匿名函数,这个匿名函数被称为闭包
		//当a - b 是一个正数的话 a 大于 b a 和b 就交换位置
		document.write(arr1.sort(function(a,b){
			return a - b
		}))
	</script>
</html>

结果如下(示例):
在这里插入图片描述

七、DOM【重要】

我们js要修饰html里面的标签,第一步就是找到标签,然后再对标签加一些效果
document object model 文档对象模型
javascript可以把html的每一个标签看作一个对象
找到标签,然后把标签变成js中的对象

document.getElementById(id属性的值) 返回的是一个对象,通过id的属性值获得的
document.getElementsByClassName(class属性的值) 返回的是一个数组,通过class属性值获取的
document.getElementsByTagName(标签的名字); 返回的是一个数组,通过标签的名字获取的
document.getElementsByName(name属性的值) 返回的是一个数组,通过name属性的值获取的

四个方法的目的都是找到js要修饰的标签对象。css选择器

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="div1">
			<div>大河向东流</div>
		</div>
		<span class="cls1">红牛</span>
		<span class="cls1">雷碧</span>
		<span class="cls1">康帅傅</span>
		<span class="cls1">大个核桃</span>
		<p><span>越成熟越真诚</span></p>
		<footer name=ft"">想吃辣条了</footer>
		<br />
		
		<!-- onclick单击事件,点一下会执行属性的值 刚好放的是一个js的函数,函数在执行 -->
		<button type="button" onclick="divChange()">点一下</button>
		<br />
		<button onclick="clsChange()">点一下变大变红</button>
		<br />
		<button onclick="tagChange()">点一下内容变化</button>
		<br />
		<button onclick="nameChange()">点一下内容变化</button>
	</body>
	<script>
		// 通过id属性获取标签的对象 getElementById
		function divChange(){
			console.log("qwer")
			//1.首先找到div1,通过document把div变成一个对象
			// getElementsById 得到元素对象依靠id属性
			var div1 = document.getElementById("div1")
			console.log(div1)
			// innerHTML 获取元素对象的内部包裹的东西
			console.log(div1.innerHTML)//打印的是带有标签的!!
			// 替换掉div1包裹的内容
			div1.innerHTML = "<span>樯橹灰飞烟灭</span>"
		}
		// 通过class属性获取标签对象 getElementsByClassName
		function clsChange(){
			// 找到上面的多个span标签对象,验证了一句话,id是唯一的,class是可以有多个的
			var cls = document.getElementsByClassName("cls1")
			console.log(cls)//碰到数组有什么想法?遍历
			for(var i = 0;i < cls.length;i++){
				console.log(cls[i])//每一个span对象
				// 修饰上面标签的css
				console.log(cls[i].style)//获取标签对象的所有属性
				
				cls[i].style.color="red"//将字体的颜色改为红色
				// 想要通过js设置样式的时候
				// 对象调用style 再调用css样式就行了
				// 只不过 css带有-  变为了小驼峰的命名规则
				cls[i].style.fontSize="50px"
			}
		}
		// 通过标签的名字获取标签对象  getElementsByTagName
		function tagChange(){
			// 通过标签的名字来找到要修饰的标签的对象
			var tags = document.getElementsByTagName("p")
			console.log(tags)
			//字体的颜色变为金色的,字体的大小变为50px,内容变为说着玩的
			console.log(tags[0])
			console.log(tags[0].innerHTML)//带有html标签的
			console.log(tags[0].innerText)//不带标签只有文本内容的
			//一定要先变为对象,数组是没有这些属性的
			 tags[0].style.color="gold"
			 tags[0].style.fontSize="50px"
			 tags[0].style.fontFamily="楷体"
			 tags[0].innerText="说着玩的"
		}
		// 通过name属性获取标签对象 getElementsByName
		function nameChange(){
			// 通过name属性找到footer标签
			var ft = document.getElementsByName("ft")
			ft[0].style.color="tomato"
			ft[0].style.fontSize="50px"
			ft[0].innerHTML="大辣片"
		}
	</script>
</html>

结果如下(示例):
在这里插入图片描述
在这里插入图片描述

八、动态创建div

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body id="b1">
		<!-- 我一点击button按钮
			按钮,给我在body标签再创建一个div标签
			可以通过js来创建
		-->
		<button onclick="test()">点我啊!!</button>
	</body>
	<script>
		function test(){
			//1.首先找到body标签对象
			var b1 = document.getElementById("b1")
			// 2.创建一个div标签对象
			var div1 = document.createElement("div")
			console.log(div1)
			// 3.对这个空的div加一些css属性
			div1.style.width="300px"
			div1.style.height="200px"
			div1.style.backgroundColor="red"
			div1.innerHTML="我是谁,我在哪"
			console.log(div1)
			// 4.将新建的div对象放到body对象中就行了
			b1.appendChild(div1)
		}
	</script>
</html>

结果如下(示例):
在这里插入图片描述
在这里插入图片描述

总结

提示:这里对文章进行总结:还没想好总结

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:37:59  更:2021-09-08 10:40:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:11:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码