JS基础,猫镇楼
输出和输入语法
人和计算机的交互,用户通过键盘,鼠标等向计算机输入信息,计算机处理后在展示结果给用户,这便是一次输入和输出的过程
输出语法:
-
document.write(‘要输出的内容’);
- 在页面显示的内容
-
向body标签中内输出内容
-
如果输出的内容写的是标签,也会备解析成网页因素
-
alert('要输出的内容');
- 页面弹出警告对话框
-
console.log('控制台打印')
- 控制台输出语法,程序员调试使用
输入语法:
-
prompt('请输入您的姓名:');
- 显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字
字面量
在计算机科学语言中,字面量(literal)是在计算机中描述事/物
- 数字字面量
- 字符串字面量
- []数组字面量,{}对象字面量
结束符
代表语句结束
英文分号;
可写可不写
换行符(回车)会识别成结束符,所以一个完整的语句,不要手动换行
因此在实际开发中有许多人主张书写javacript代码是省略结束符
为了风格统一,要写结束符就每句都写,要么就每句都不写(按团队要求)
javascript是什么
是一种运行在客户端(浏览器)的编程语言,实现人机交互效果
作用
- 网页特效(监听用户的一些行为让网页做出对应的反馈)
- 表单验证(针对表单数据的合法性判断)
- 数据交互(获取后台的数据,渲染到前端)
- 服务端编程(node.js)
组成
-
ECMAScript
- 变量
- 分支语句
- 循环语句
- 对象等等
-
Web APls
-
DOM
-
操作文档,比如对页面元素进行移动,大小,添加删除等操作
- 页面文档对象模型
-
-
BOM
-
操作浏览器,比如页面弹窗,检测窗口宽度,存储数据到浏览器等
- 浏览器对象模型
-
-
javascript书写位置
内部javaScript
- 直接写在html文件里,用script标签包住
- script标签写在上面
- 我们先将
内联javaScript
- 写在标签内部
- vue框架会用这种模式
外部javaScript
-
代码写在以.js结尾的文件里
-
通过script标签,引入到html页面中
-
注意
-
- script标签中间无需写代码,否则会被忽略!
-
- 外部JavaScript会使代码更加有序,更易于复用,且没有了脚本的混合,HTML 也会更加易读,因此这是个好的习惯。
-
注释
单行注释
- 符号://
- 作用://右边这一行的代码会被忽略
- 快捷键:ctrl+/
多行注释/块注释
- 符号:/* */
- 作用:在/和/之间的所有内容都会被忽略
- 快捷键:shift+alt+A
变量
变量是计算机存储数据的“容器”(一个装东西的盒子)
注意:变量不是数据本身,它们仅仅是一个用于存储数值的容器
基本使用
-
声明变量(要想使用变量,首先要创建变量)
-
let 变量名
- let为关键字,是系统提供的专门用来声明变量的词语
-
声明变量有两部分构成:声明关键字、变量名(标识)
-
如:let age;
- age是变量的名称,也叫标识符
-
一个变量被重新赋值后,原有的值就会被覆盖,变量值将以最后一次赋的值为准
-
声明变量不赋值的特殊情况
-
1.只声明不赋值
- 结果是undefuned(未定义的)
-
2.不声明不赋值,直接使用
- ·报错
-
3.不声明,直接赋值使用
- 可以运行,变成全局变量
-
-
-
变量赋值
- 定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。
- 也可以声明变量的时候同时给变量初始化。
- 注意: let 不允许多次声明一个变量。
-
使用var声明变量
-
使用conts声明变量
- const 声明变量时必须初始化,并且在代码的整个运行过程中不能修改初始化值,否则运行时会报错。
-
同时声明多个变量,只需要写一个let,多个变量名用英文逗号分隔
本质
- 是程序在内存中申请的一块用来存放数据的小空间
- 内存:计算机中存储数据的地方,相当于一个空间
变量的命名规则
规则,不遵守会报错
-
1.不能用关键字
- 关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等
-
2.只能用下划线,字母,数字,$符号组成,不能以数字开头
-
3.字母严格区分大小写,如Age和age是不同的变量
规范,不遵守不会报错,但不符合业内通识
-
1.起名要有意义
-
2.遵守小驼峰命名法
- 第一个单词首字母小写,后面每个单词首字母大写。例:userName
数组Array
是一种可以按顺序保存多个数据
let arr =
声明语法,let 数组名 = [数据1,数据2,数据3....,数据n]
- 数组是按顺序报错的,所以每个数据都有自己的编号
- 计算机中给编号从0考=开始,所以数据的编号为0,1,2,3.......
- 在数组中,数据的编号也叫索引或下标
- 数组可以存储人员类型的数据
取值语法
-
数组名[下标]
- 通过下标取数据
- 取出来是声明类型的,就根据这种类型特点来访问
数据类型
1.基本数字类型
-
number数字型
- 整数,小数,正数,负数
- JS是弱数据类型,变量到底属于哪种类型,只有赋值之后才能确认。Java是强数据类型,如int a = 3 必须是整数
-
string字符串型
-
通过单引号( '') 、双引号( "")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别, 推荐使用单引号。
-
注意
-
- 无论单引号或是双引号必须成对使用
-
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
-
- 必要时可以使用转义符 \,输出单引号或双引号
-
-
模板字符串
- 作用是拼接字符串和变量
- ``
- 在英文输入模式下按键盘的tab上方那个键
- 内容拼接变量时,用${}包住变量
- 语法 document.write (
字符${变量名},字符${变量名})注意,一定要用反引号包裹
-
-
boolean布尔型
- 真true
- 假false
-
undefined未定义型
-
使用场景
- 我们开发中经常声明一个变量,等待传送过来的数据。 如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否 有数据传递过来。
-
-
null空类型
-
但内容为空
-
应用
- 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
-
-
2.引用数据类型
- object对象
- function函数
- array数组
类型转换
是把一种数据类型的变量转换成我们需要的数据类型。
-
隐式转换
-
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
- +号两边只要有一个时字符串,都会把另外一个转换成字符串
- 除了+以外的算数运算符,都会把数据转成数组类型
- +号作为正好解析可以转换成Number
- 如果+号左右只有一个值 解析的结果是正号 可用于隐式转换 如果两边都是数值(Number)类型 则是+号运算符 +号的左右如果有一个数据是字符串数据类型的话 那么这个+号会被解析成连接符
-
数字相加 字符相连
-
显示转换
-
编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。 为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换
- 自己写的代码告诉系统该转成什么类型
-
转换为数字型
-
Number(数据)
- 转成数字类型
- 如果字符串内容有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
- NaN也是number类型的数据,代表非数字
-
parseInt(数据)
- 只保留整数
-
parseFloat(数据)
- 可以保留小数
转换为字符型
- String(数据)
- 变量.toString(进制)