JavaScript是一种运行在客服端(浏览器)的编程语言,可以实现人机交互的效果。
目录
1.组成
2.书写位置
2.1内部JS
我们将 <script> 放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML,如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。因此,将 JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。
<body>
<script>
alert('这是一个内部JS')
</script>
</body>
2.2外部JS
script标签中间无需写代码,否则会被忽略!
<body>
<script src="./my.js"></script>
</body>
3.3内联(行内)JS
代码写在标签内部
<body>
<button onclick="alert('这是一个内联JS')">点击我</button>
</body>
3.注释
3.1单行注释
符号://
作用://右边这一行的代码会被忽略
快捷键:ctrl + /
3.2块注释
符号:/* */
作用:在/* 和 */ 之间的所有内容都会被忽略
快捷键:shift + alt + A
4.结束符
使用英文的 ";" 代表语句结束,为了风格统一,结束符要么每句都写,要么每句都不写(按照团队要求.)
5.输入输出语法
5.1输出语法
5.2输入语法
prompt('这是一个输入语法')
5.3执行顺序
从上到下执行,alert和prompt比其他语法先执行
6.字面量
在计算机科学中,字面量是在计算机中描述事/物
如:10是数字字面量 ,'你好'是字符串字面量,[0,1]是数组字面量,{a}是对象字面量
7.变量
变量不是数据本身,可以把它想象成用来储存其他数据的“容器”
7.1变量的基本使用
7.1.1声明变量
我们声明了一个age变量
age 即变量的名称,也叫标识符
let age
7.1.2变量赋值(初始化)
//声明一个变量
let age
//变量赋值
age = 10
可以在变量声明的同时初始化
let age = 10
7.1.3更新变量
let不允许多次声明一个变量
//初始化变量
let age = 10
//更新变量
age = 19
7.1.4声明多个变量
let age = 18,uname = '卷卷'
此种方法不提倡,可读性不好
7.2变量的本质
内存:计算机中存储变量的地方,相当于一个空间
变量的本质:是程序在内存中申请的一个用来存放数据的小空间
7.3变量的规则和命名规范
只能用下划线、字母、数字、$组成,且数字不能开头
严格区分大小写,不能用关键字
起名有意义,遵守小驼峰命名法,如userName
8.let和var
在较旧的JavaScript,使用关键字 var 来声明变量 ,而不是 let。
var可以先使用 在声明 (不合理)
var 声明过的变量可以重复声明(不合理)
比如变量提升、全局变量、没有块级作用域等等
9.数组
声明方式:
let arr = [num1,num2,.....]
使用数组
//索引号从零开始
arr[索引号]
10.常量的使用
使用const生命的变量称为常量,不允许更改值,声明的时候必须赋值。
11.数据类型
JS 数据类型整体分为两大类:基本数据类型、引用数据类型
11.1基本数据类型
11.1.1 number数字型
JavaScript 中的正数、负数、小数等 统一称为 数字类型。
注:
JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
Java是强数据类型 例如 int a = 3 必须是整数
NaN也是数字型的一种,它是粘性的,任何对NaN的操作都返回NaN
11.1.2 String字符串类型
通过单引号( '') 、双引号( "")或反引号( ` ) 包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
注:
字符串拼接:+ 运算符 可以实现字符串的拼接。
口诀:数字相加,字符相连
模板字符串
let age = 10
//反引号`` 内容拼接变量时,用 ${ } 包住变量
document.write(`我今年${age}岁啦`)
11.1.3 boolean布尔类型
表示肯定或否定时在计算机中对应的是布尔类型数据。
它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。
11.1.4 undefined未定义类型
未定义是比较特殊的类型,只有一个值 undefined。只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
使用场景:我们开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。
11.1.5 null(空类型)
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
使用场景:将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
11.2引用数据类型
12.检测数据类型
12.1控制台输出语句:
控制台语句经常用于测试结果来使用,可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色。
12.2通过 typeof 关键字检测数据类型
typeof 运算符可以返回被检测的数据类型。它支持两种语法形式:
1. 作为运算符: typeof x (常用的写法)
2. 函数形式: typeof(x)
(有括号和没有括号,得到的结果是一样的,所以我们直接使用运算符的写法。)
let age = 10
console.log(typeof age)
13.类型转换
使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。此时需要转换变量的数据类型,就是把一种数据类型的变量转换成我们需要的数据类型。
13.1隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
1. + 号两边只要有一个是字符串,都会把另外一个转成字符串
2. 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
3. +号作为正号解析可以转换成数字型
4. 任何数据和字符串相加结果都是字符串
13.2显示转换
自己写代码告诉系统该转成什么类型
13.2.1转换为数字型
1.Number(数据)
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字
2. parseInt(数据)
只保留整数
3.parseFloat(数据)
可以保留小数
13.2.2转换为字符型
1. String(数据)
2. 变量.toString(进制)