JavaScript基本语法(JavaScript代码嵌入方式与声明和使用变量)
、JavaScript代码嵌入方式
#①HTML文档内
- JavaScript代码要写在script标签内
 - script标签可以写在文档内的任意位置
 - 为了能够方便查询或操作HTML标签(元素)script标签可以写在body标签后面
 
可以参考简化版的HelloWorld
<!-- 在HBuilderX中,script标签通过打字“sc”两个字母就可以直接完整生成 -->
<script type="text/javascript"> // 下面是同样实现HelloWorld功能的简化版代码
document.getElementById("helloBtn").onclick = function() {
alert("Hello simple");
}; </script>
#2、声明和使用变量
#①JavaScript数据类型
基本数据类型
数值型:JavaScript不区分整数、小数
字符串:JavaScript不区分字符、字符串;单引号、双引号意思一样。
布尔型:true、false
在JavaScript中,其他类型和布尔类型的自动转换。
true:非零的数值,非空字符串,非空对象
false:零,空字符串,null,undefined
例如:"false"放在if判断中
// "false"是一个非空字符串,直接放在if判断中会被当作『真』处理
if("false"){
alert("true");
}else{
alert("false");
}
1
2
3
4
5
6
引用类型
- 所有new出来的对象
 - 用[]声明的数组
 - 用{}声明的对象
 
#②变量
关键字:var
数据类型:JavaScript变量可以接收任意类型的数据
标识符:严格区分大小写
变量使用规则
如果使用了一个没有声明的变量,那么会在运行时报错
Uncaught ReferenceError: b is not defined
如果声明一个变量没有初始化,那么这个变量的值就是undefined
#
2、声明和使用变量
#①JavaScript数据类型
基本数据类型
数值型:JavaScript不区分整数、小数
字符串:JavaScript不区分字符、字符串;单引号、双引号意思一样。
布尔型:true、false
在JavaScript中,其他类型和布尔类型的自动转换。
true:非零的数值,非空字符串,非空对象
false:零,空字符串,null,undefined
例如:"false"放在if判断中
// "false"是一个非空字符串,直接放在if判断中会被当作『真』处理
if("false"){
alert("true");
}else{
alert("false");
}
1
2
3
4
5
6
引用类型
- 所有new出来的对象
 - 用[]声明的数组
 - 用{}声明的对象
 
#②变量
关键字:var
数据类型:JavaScript变量可以接收任意类型的数据
标识符:严格区分大小写
变量使用规则
如果使用了一个没有声明的变量,那么会在运行时报错
Uncaught ReferenceError: b is not defined
如果声明一个变量没有初始化,那么这个变量的值就是undefined
#3、函数
#①内置函数
内置函数:系统已经声明好了可以直接使用的函数。
#[1]弹出警告框
alert("警告框内容");
#[2]弹出确认框
用户点击『确定』返回true,点击『取消』返回false
var result = confirm("老板,你真的不加个钟吗?");
if(result) {
	console.log("老板点了确定,表示要加钟");
}else{
	console.log("老板点了确定,表示不加钟");
}
2
3
4
5
6
#[3]在控制台打印日志
console.log("日志内容");

#②声明函数
写法1:
		function sum(a, b) {
			return a+b;
		}
2
3
写法2:
		var total = function() {
			return a+b;
		};
2
3
写法2可以这样解读:声明一个函数,相当于创建了一个『函数对象』,将这个对象的『引用』赋值给变量total。最后加的分号不是给函数声明加的,而是给整体的赋值语句加的分号。
#③调用函数
JavaScript中函数本身就是一种对象,函数名就是这个『对象』的『引用』。而调用函数的格式是:函数引用()。
		function sum(a, b) {
			return a+b;
		}
		var result = sum(2, 3);
		console.log("result="+result);
2
3
4
5
6
或:
		var total = function() {
			return a+b;
		}
		var totalResult = total(3,6);
		console.log("totalResult="+totalResult);
2
3
4
5
6
#4、对象
JavaScript中没有『类』的概念,对于系统内置的对象可以直接创建使用。
#①使用new关键字创建对象
		// 创建对象
		var obj01 = new Object();
		// 给对象设置属性和属性值
		obj01.stuName = "tom";
		obj01.stuAge = 20;
		obj01.stuSubject = "java";
		// 在控制台输出对象
		console.log(obj01);
2
3
4
5
6
7
8
9
10
#②使用{}创建对象
		// 创建对象
		var obj02 = {
			"soldierName":"john",
			"soldierAge":35,
			"soldierWeapon":"gun"
		};
		// 在控制台输出对象
		console.log(obj02);
2
3
4
5
6
7
8
9
#③给对象设置函数属性
// 创建对象
var obj01 = new Object();
// 给对象设置属性和属性值
obj01.stuName = "tom";
obj01.stuAge = 20;
obj01.stuSubject = "java";
obj01.study = function() {
	console.log(this.stuName + " is studying");
};
// 在控制台输出对象
console.log(obj01);
// 调用函数
obj01.study();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
或:
// 创建对象
var obj02 = {
	"soldierName":"john",
	"soldierAge":35,
	"soldierWeapon":"gun",
	"soldierShoot":function(){
		console.log(this.soldierName + " is using " + this.soldierWeapon);
	}
};
// 在控制台输出对象
console.log(obj02);
// 调用函数
obj02.soldierShoot();
2
3
4
5
6
7
8
9
10
11
12
13
14
#④this关键字
this关键字只有两种情况:
- 在函数外面:this关键字指向window对象(代表当前浏览器窗口)
 - 在函数里面:this关键字指向调用函数的对象
 
// 直接打印this
console.log(this);
// 函数中的this
// 1.声明函数
function getName() {
	console.log(this.name);
}
// 2.创建对象
var obj01 = {
	"name":"tom",
	"getName":getName
};
var obj02 = {
	"name":"jerry",
	"getName":getName
};
// 3.调用函数
obj01.getName();
obj02.getName();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#5、数组
#①使用new关键字创建数组
// 1.创建数组对象
var arr01 = new Array();
// 2.压入数据
arr01.push("apple");
arr01.push("orange");
arr01.push("banana");
arr01.push("grape");
// 3.遍历数组
for (var i = 0; i < arr01.length; i++) {
	console.log(arr01[i]);
}
// 4.数组元素反序
arr01.reverse();
for (var i = 0; i < arr01.length; i++) {
	console.log(arr01[i]);
}
// 5.数组元素拼接成字符串
var arrStr = arr01.join(",");
console.log(arrStr);
// 6.字符串拆分成数组
var arr02 = arrStr.split(",");
for (var i = 0; i < arr02.length; i++) {
	console.log(arr02[i]);
}
// 7.弹出数组中最后一个元素
var ele = arr01.pop();
console.log(ele);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#②使用[]创建数组
// 8.使用[]创建数组
var arr03 = ["cat","dog","tiger"];
console.log(arr03);
2
3
#6、JSON
#①JSON格式的用途
在开发中凡是涉及到『跨平台数据传输』,JSON格式一定是首选。
#②JSON格式的说明
- JSON数据两端要么是{},要么是[]
 - {}定义JSON对象
 - []定义JSON数组
 - JSON对象的格式是:
 
{key:value,key:value,...,key:value}
- JOSN数组的格式是:
 
[value,value,...,value]
- key的类型固定是字符串
 - value的类型可以是:
- 基本数据类型
 - 引用类型:JSON对象或JSON数组
 
 
正因为JSON格式中value部分还可以继续使用JSON对象或JSON数组,所以JSON格式是可以『多层嵌套』的,所以JSON格式不论多么复杂的数据类型都可以表达。
{
	"stuId":556,
	"stuName":"carl",
	"school":{
		"schoolId":339,
		"schoolName":"atguigu"
	},
	"subjectList":[
		{
			"subjectName":"java",
			"subjectScore":50
		},
		{
			"subjectName":"PHP",
			"subjectScore":35
		},
		{
			"subjectName":"python",
			"subjectScore":24
		}
	],
	"teacherMap":{
		"aaa":{
			"teacherName":"zhangsan",
			"teacherAge":20
		},
		"bbb":{
			"teacherName":"zhangsanfeng",
			"teacherAge":108
		},
		"ccc":{
			"teacherName":"zhangwuji",
			"teacherAge":25
		}
	}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#③JSON对象和JSON字符串互转
#[1]JSON对象转JSON字符串
var jsonObj = {"stuName":"tom","stuAge":20};
var jsonStr = JSON.stringify(jsonObj);
console.log(typeof jsonObj); // object
console.log(typeof jsonStr); // string
2
3
4
5
#[2]JSON字符串转JSON对象
jsonObj = JSON.parse(jsonStr);
console.log(jsonObj); // {stuName: "tom", stuAge: 20}
JavaScript基本语法(JavaScript代码嵌入方式与声明和使用变量)的更多相关文章
- 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天
		
1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...
 - Javascript的一种代码结构方式——插件式
		
上几周一直在做公司的webos的前端代码的重构,之中对javascript的代码进行了重构(之前的代码耦合严重.拓展.修改起来比较困难),这里总结一下当中使用的一种代码结构——插件式(听起来怎么像独孤 ...
 - JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】
		
全部章节 >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...
 - JavaScript 函数——语法,调用,返回值,局部变量,全局变量,未声明变量
		
JavaScript 函数是被设计为执行特定任务的代码块. JavaScript 函数会在某代码调用它时被执行. ㈠函数 ⑴什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. ⑵ ...
 - 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接
		
查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...
 - 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
		
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
 - 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!
		
原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和f ...
 - Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符
		
JavaScript用来干什么 数据的验证 将动态的内容写入到网页当中(ajax) 对事件做出相应 读写html当中的内容 检测浏览器 创建cookies 模拟动画 语法特点 基于对象和事件驱动的松散 ...
 - javascript三种嵌入方式
		
什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的. J ...
 
随机推荐
- 求教:Knife4jAggregationDesktop访问报错HTTP ERROR 404
			
(1)Windows Server 2019下面,java版本:c:\Users\WinUser01\.jdks\corretto-1.8.0_292\bin\java.exe(2)Knife4jAg ...
 - django中的forms组件
			
form介绍 用户需要向后端提交一些数据时,我们常常把这些数据放在一个form表单里,采用form标签,里面包含一些input等标签把用户的数据提交给后端. 在给后端提交数据的时候,我们常常也需要对于 ...
 - mybatis 14: 多对一关联查询
			
业务背景 根据订单id查询订单的信息,以及该订单所属的客户的基本信息(不包括该客户自己的订单信息) 两张数据表 客户表 订单表 实体类 客户实体类:Customer private Integer i ...
 - ArkUI 页面路由
			
很多应用由多个页面组成,不同的页面承担着不一样的功能.比如,从音乐列表页面点击歌曲,跳转到该歌曲的播放界面.开发者需要通过页面路由将这些页面串联起来. 在 js -> default -> ...
 - 探秘:TriCore处理器中断机制
			
1. TriCore与中断的简介 TriCore是德国英飞凌科技公司旗下的第一个为实时嵌入式系统而优化的统一的.32位的微控制器-DSP(Digital Signal Processing)处理器架构 ...
 - 彻底搞懂C#异步编程 async和await的原理
			
1.前提 熟练掌握Task并行编程. 2.用Task并行解释async和await异步 因为控制台有多线程操作的优化,因此这里选择winform来做示例. 测试代码如下所示: 有三个textbox,一 ...
 - 【IDEA】IDEA打开欢迎页面
			
概述 IDEA在默认情况下,会进入最后一个项目.如果项目比较大的话会加载的比较久,这个就比较烦人了,目前我觉得最好的办法就是在设置中直接进入欢迎页面. 解决方案 ① 进入设置 ② Appearance ...
 - 第十三章 k8s的GUI资源管理插件--dashboard
			
1.部署Kubernetes-dashboard 1.1 准备dashboard镜像 在10.4.7.200上操作 [root@hdss7-200 ~]# docker pull k8scn/kube ...
 - Springboot_maven多环境配置
			
开发过程中总是需要多环境配置,而Spring自带的方式不是那么优秀,可以利用maven来帮助做到 可以再pom.xml中配置profiles来做到 打包命令: mvn clean package -P ...
 - 【2022-09-09】Django框架(九)
			
Django框架(九) cookie与session简介 网址的发展史: 1.起初网站都没有保存用户功能的需求,所有用户访问返回的结果都是一样的. 比如:新闻网页,博客网页,小说... (这些网页是不 ...