JS第一天--变量、数据类型、类型转换

JavaScript介绍

一、JS是什么

1.重要性:前端的唯一脚本语言; Vue,react等框架语言都是基于js的
2.概念:是一种通常运行在浏览器中(运行环境)的编程语言
可以用来实现人机交互效果,提供逻辑思维能力

3.作用:
①监听用户的行为,并让网页作出对应的反馈
②网页特效(动画效果)
③表单验证 (针对表单数据的合法性进行判断)
④数据交互 (获取后台的数据, 渲染到前端)
⑤服务端编程 (node.js)

4.浏览器中的组成:
①ECMAScript 规范: 语法
②Web APIs(可操作的实体对象) : DOM BOM
③DOM: document object model (浏览器帮我们实体化为了一个对象: document)
④BOM: browser object model (浏览器帮我们实体化为了一个对象: window)

5.书写位置:
①内联:不推荐
②内部:规范:script 标签写在</body>上面
浏览器逐行解析,遇到script标签,会阻塞文档解析
原因一:如果JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效
原因二:因为script可能会修改dom元素,那么继续解析文档没多大意义,为了提升性能,浏览器会阻塞文档解析
③外部


微信截图_20220416000808.png

6.结束符
代表语句结束,英文分号 ;
但为了风格统一,要写结束符就每句都写,要么每句都不写(按照团队要求.)

7.输出语法
document.write('要输出的内容')
alert('要输出的内容')
console.log('控制台打印')


微信截图_20220416001622.png

8.输入语法
prompt('请输入您的姓名')


微信截图_20220416001748.png

额外知识点:
console.log(1,2,3)
document.write(1,2,3)
alert(1) 不可以写多个
alert() prompt() 会阻塞主线程

二、变量

1.概念
变量是计算机存储数据的“容器”
白话:变量就是一个装东西的盒子。
通俗:变量是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆。

2.作用
用来存放数据的。注意变量指的是容器而不是数据

3.语法
变量的创建 let 关键字 变量名
变量的赋值 变量名 = 数据
变量值的修改 变量名 = 数据


微信截图_20220416001832.png

连写,声明变量的同时,进行赋值 let age = 19;
声明多个变量 使用 , 分割 let age = 19, name,sex = 11


微信截图_20220416001436.png

4.使用
一定要声明变量,然后赋值
声明变量本质是去内存申请空间

5.字面量
字面上的一个数量;所见即所得,的一个常量
比如: let num = 1 ; 这个 1 就是一个字面量(常量)

6.本质
变量是内存里的一块空间,用来存储数据

7.规则与规范
规则:
必须遵守,不遵守报错
不能用关键字,例如:let、var、if、for
只能用下划线_ 、字母、数字、$组成,且数字不能开头
字母严格区分大小写,如 Age 和 age 是不同的变量

规范:
不遵守不会报错,但不符合业内通识
起名要有意义
遵守小驼峰命名法,例:userName

三、数据类型

基本数据类型:
1.number数字型
可以是整数、小数、正数、负数。
*注意事项
JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
Java是强数据类型 例如 int a = 3 必须是整数

2.string字符串型
三种引号:单引号 '' 双引号 "" 反引号 ``
作用:拼接字符串和变量

反引号
微信截图_20220416002718.png

*注意事项
无论单引号或是双引号必须成对使用
单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
必要时可以使用转义符 \:输出单引号或双引号

3.boolean 布尔型
true(真)
false(假)

4.undefined 未定义型
出现的情况:只声明变量,不赋值的情况下
工作情况:可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来
*特殊情况:
let age;console.log(age) 只声明,不赋值 结果:undefined
console.log(age) 不声明,不赋值 结果:报错
age=10;console.log(age) 不声明,只赋值 结果:10(不提倡)

5.null 空类型
表示值为空

null和undefined区别
undefined 表示没有赋值
null 表示赋值了,但是内容为空


微信截图_20220416003455.png

记忆方式:注册页面: 姓名:string 年龄:number 是否遵循条款:布尔类型 两个代表否定的值(厕纸模型)

引用数据类型:
object 对象
function 函数
array 数组

检测数据类型:
①控制台输出语句
控制台语句经常用于测试结果来使用
可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色

②通过 typeof 关键字检测数据类型
微信截图_20220416003702.png

四、类型转换

转换目的
JavaScript 是弱数据类型
大部分从页面得到的数据默认是字符串类型(比如 prompt 和从表单获取的数据)

1.隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换
①加号(+) 左右,只要有一个字符串,就把另外一个值转化为字符串
②除了+号之外的,算数运算符,会把数据转化为数字
③+号 可以作为正号解析
④typeof+"11" number


微信截图_20220416003926.png

2.显式转换
自己写代码告诉系统该转成什么类型
①转换为数字型
转成数字类型
如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字
NaN也是number类型的数据,代表非数字
parseInt(数据) 只保留整数,不会四舍五入
parseFloat(数据) 可以保留小数


微信截图_20220416004451.png

②转换为字符型
⑴String(数据)
⑵变量.toString(进制)
进制不写,默认十进制
需要声明一个变量
数字.toString() 会报错

微信截图_20220416004542.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容