、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("警告框内容");
1

#[2]弹出确认框

用户点击『确定』返回true,点击『取消』返回false

var result = confirm("老板,你真的不加个钟吗?");
if(result) {
console.log("老板点了确定,表示要加钟");
}else{
console.log("老板点了确定,表示不加钟");
}
1
2
3
4
5
6

#[3]在控制台打印日志

console.log("日志内容");
1

#②声明函数

写法1:

		function sum(a, b) {
return a+b;
}
1
2
3

写法2:

		var total = function() {
return a+b;
};
1
2
3

写法2可以这样解读:声明一个函数,相当于创建了一个『函数对象』,将这个对象的『引用』赋值给变量total。最后加的分号不是给函数声明加的,而是给整体的赋值语句加的分号。

#③调用函数

JavaScript中函数本身就是一种对象,函数名就是这个『对象』的『引用』。而调用函数的格式是:函数引用()。

		function sum(a, b) {
return a+b;
} var result = sum(2, 3);
console.log("result="+result);
1
2
3
4
5
6

或:

		var total = function() {
return a+b;
} var totalResult = total(3,6);
console.log("totalResult="+totalResult);
1
2
3
4
5
6

#4、对象

JavaScript中没有『类』的概念,对于系统内置的对象可以直接创建使用。

#①使用new关键字创建对象

		// 创建对象
var obj01 = new Object(); // 给对象设置属性和属性值
obj01.stuName = "tom";
obj01.stuAge = 20;
obj01.stuSubject = "java"; // 在控制台输出对象
console.log(obj01);
1
2
3
4
5
6
7
8
9
10

#②使用{}创建对象

		// 创建对象
var obj02 = {
"soldierName":"john",
"soldierAge":35,
"soldierWeapon":"gun"
}; // 在控制台输出对象
console.log(obj02);
1
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();
1
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();
1
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();
1
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);
1
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);
1
2
3

#6、JSON

#①JSON格式的用途

在开发中凡是涉及到『跨平台数据传输』,JSON格式一定是首选。

#②JSON格式的说明

  • JSON数据两端要么是{},要么是[]
  • {}定义JSON对象
  • []定义JSON数组
  • JSON对象的格式是:
{key:value,key:value,...,key:value}
1
  • JOSN数组的格式是:
[value,value,...,value]
1
  • 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
}
}
}
1
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
1
2
3
4
5

#[2]JSON字符串转JSON对象

jsonObj = JSON.parse(jsonStr);
console.log(jsonObj); // {stuName: "tom", stuAge: 20}

JavaScript基本语法(JavaScript代码嵌入方式与声明和使用变量)的更多相关文章

  1. 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天

    1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...

  2. Javascript的一种代码结构方式——插件式

    上几周一直在做公司的webos的前端代码的重构,之中对javascript的代码进行了重构(之前的代码耦合严重.拓展.修改起来比较困难),这里总结一下当中使用的一种代码结构——插件式(听起来怎么像独孤 ...

  3. JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】

    全部章节   >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...

  4. JavaScript 函数——语法,调用,返回值,局部变量,全局变量,未声明变量

    JavaScript 函数是被设计为执行特定任务的代码块. JavaScript 函数会在某代码调用它时被执行. ㈠函数 ⑴什么是函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. ⑵ ...

  5. 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...

  6. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】

    原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...

  7. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!

    原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和f ...

  8. Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符

    JavaScript用来干什么 数据的验证 将动态的内容写入到网页当中(ajax) 对事件做出相应 读写html当中的内容 检测浏览器 创建cookies 模拟动画 语法特点 基于对象和事件驱动的松散 ...

  9. javascript三种嵌入方式

    什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的. J ...

随机推荐

  1. UnifyRemoteManager-多国语言绿色版v1.3-20200315,统一远程连接自动登录软件,欢迎测试

    UnifyRemoteManager-多国语言绿色版v1.3-20200315,统一远程连接自动登录软件,欢迎测试 下载参考: 百度网盘:https://pan.baidu.com/s/15g-oXT ...

  2. Eclipse里项目名有红叉,但是项目里的每一个文件都没有红叉

    原因一:导入的文件被删除了. 解决方法:右击项目名,在弹出的菜单中,选择"Bulid Path"-->"configure build path"--&g ...

  3. Spring源码 11 IOC refresh方法6

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  4. ArcGIS QGIS学习一:打开shp、geojson地图变形变扁问题(附最新坐标边界下载全国省市区县乡镇)

    目录 打开的地图变扁了 修改投影坐标系 等角圆锥投影 Web墨卡托投影 一些要注意的地方 打开的地图变扁了 记得初学GIS软件时,用ArcGIS或QGIS打开省级地图的时候(shp或geojson等格 ...

  5. Docker网络讲解 及实验redis集群部署

    理解docker0 准备工作:清空所有的容器,清空所有的镜像 docker rm -f $(docker ps -a -q) # 删除所有容器 docker rmi -f $(docker image ...

  6. 【设计模式】Java设计模式 - 动态代理

    [设计模式]Java设计模式 - 动态代理 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 最近工作比较忙,没啥时间学习 目录 [设计模 ...

  7. 中秋快乐!新鲜出炉一篇DjangoAdmin使用合集,DjangoAdmin的功能比你想象的强大!

    DjangoAdmin DjangoAdmin本身就是一套大而全的系统,官方文档中介绍了很多配置方法,但仍然有大量的骚操作是文档中没有的,所以遇到特殊需求的时候,求助文档不一定有用. 在我看来 Dja ...

  8. Grafana Loki 架构

    转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247492186&idx=2&sn=a06954384a ...

  9. Kubernetes DevOps: Jenkins Pipeline (流水线)

    要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...

  10. 在 AlertManager 报警通知中展示监控图表

    原文档地址:https://mp.weixin.qq.com/s/Wcp7ltEbnHpUlbaF9JDgZg 去绘制渲染报警图表,然后上传到对象存储中保存起来,在钉钉中就可以直接展示了,Promot ...