js第一天
什么是js
是一种运行在客户端(浏览器) 的编程语言, 实现人机交互
作用
- 网页特效
- 表单验证
- 数据交互
- 服务端编程
3.js组成
-
ECMAScript
- 规定了js基础语法核心知识
-
web Api
- dom 操作dom文档
- bom 操作浏览器
- 注意 dom属于bom
添加js
- 内部js
-
直接写在html文件里面 用script标签包住
- 规范 script标签写在上面
-
拓展alert('你好,js')页面弹出警示框
-
外部js
- 代码写在以.js文件结尾的文件里
注意: script标签中间无需写代码 会被忽略
-
内联 js
- 代码写在标签内部
- 此处作为了解 后面vue会用到这种模式
js结束符
-
结束符
- 代表语句结束
- 英文分号;
- 可写可不写 (现在不写结束语句的程序员越来越多)
- 换行符(回车)会被识别成结束语句
- 因此实际开发中 很多人主张不写结束符号
- 但是为了风格统一 要写结束符号就每句都写 要么就都不写
js输入输出语法
输出:
-
document.write('要输出的内容')- 向body标签中输出内容
- 如果输出内容写的是标签,也会被解析
alert('输出内容')- 页面会弹出警示对话框
console.log('输出内容')- 控制台输出的内容 调试的时候使用
输入:
prompt('请输入你的名字')- 显示一个对话框,对话框中包含一条提示信息,用来提示用户输入问题
字面量
在计算机科学中,字面量(literal)是在计算机中描述 事/物
比如:
➢ 我们工资是: 1000 此时 1000 就是 数字字面量
➢ '黑马程序员' 字符串字面量
➢ 还有接下来我们学的 [] 数组字面量 {} 对象字面量 等等
变量
理解变量是计算机存储数据的容器
变量怎么理解:计算机中用来存储数据的“容器”,简单理解是一个个的盒子。
变量有什么作用: 用来存放数据的。注意变量指的是容器而不是数据。
变量使用
-
声明变量
let 变量名如果声明一个变量 没有赋值 结果就是undefine- 声明变量有两部分构成: 声明关键字、变量名(标识)
- let即关键字
举例:
let age;- age就是变量的名称 也叫标识符
-
赋值 在变量名后跟上一个 = 然后就是数值
注意:是用过变量名来获取变量里面的数据
2.1 变量赋值:
也可以声明变量的时候同时给变量初始化
例如:
let age = 18
3.更新变量:
变量赋值后,还可以通过简单の给它一个不同的值来更新它
注意: let不允许多次声明一个变量
4.声明多个变量
let name = 'jack' , age = 18;
let不允许重复定义变量
变量的本质
内存: 计算机中存储数据的地方,相当于一个空间
变量:本质是程序在内存中申请的一块用来存放数据的小空间
变量的命名规范
规则:必须遵守,不遵守报错
规范:建议,不遵守不会报错,但不符合业内通识
1.规则:
-
不能使用关键字
- 关键字: 有特殊含义的字符,javascript内置的一些英语词汇,例如:;let,var ,if,for等
- 只能用下划线、字母、数字、$组成,且数字不能开头
- 字母严格区分大小写,如Age和age是不用的变量
2.规范:
-
起名要有意义
-
遵守小驼峰命名法
- 第一个单词首字母小写,后面每个单词首字母大写。例如userName
变量拓展 let和var的区别
let 和 var 区别: let 为了解决 var 的一些问题
var 声明:
- 可以先使用 在声明 (不合理)
- var 声明过的变量可以重复声明(不合理)
- 比如变量提升、全局变量、没有块级作用域等等。
结论:
以后声明变量我们统一使用 let
数组类型
整体分成两大类:
-
基本数据类型{
number 数字型
string 字符串型
boolean 布尔型
undefined 未定义型
null 空类型
}
-
引用数据类型{
object对象
function 函数
array 数组
}
数据类型 -- 字符串型string
通过单引号( '') 、双引号( "")或反引号( ` )包裹的数据都叫字符串,单引号和双引号没有本质上的区别, 推荐使用单引号。
注意事项:
- 无论单引号或是双引号必须成对使用
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
- 必要时可以使用转义符 \,输出单引号或双引号
数据类型 -- 字符串型string-拼接字符串
- 作用
-
拼接字符串和变量
-
没模板字符串之前 拼接比较麻烦
document.write('大家好,我叫' + name + ',今年' + age + '岁')-
符号
- ``反引号
- 在英文输入模式下按键盘tab键上方的那个键
- 内容拼接变量时,用${}包住变量
document.write('大家好,我叫 ${name} ,今年 ${age}+岁') -
反引号``
${变量 | 表达式}
数据类型-布尔值类型(boolean)
表示肯定或否定时在计算机中对应的是布尔类型数据。 它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。
数据类型-未定义类型(undefined)
未定义是比较特殊的类型,只有一个值 undefined。 什么情况出现未定义类型? 只声明变量,不赋值的情况下,变量的默认值为undefined,一般很少直接为某个变量赋值为undefined。
工作中的使用场景:
我们开发中 经常声明一个变量,等待传送过来的数据
如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否 有数据传递过来。
未定义是比较特殊的类型,只有一个值 undefined。 总结使用:
| 情况 | 说明 | 结果 |
|---|---|---|
| let age; console.log(age) | 只声明 不赋值 | undefined |
| console.log(age) | 不声明不赋值 直接使用 | 报错 |
| age = 10;console.log(age) | 不声明 只赋值 | 10(不提倡) |
数据类型 - null(空类型)
null 表示 值为 空
let obj = null
null 和 undefined 区别:
-
undefined 表示没有赋值
-
null 表示赋值了,但是内容为空 null
开发中的使用场景: 官方解释:把 null 作为尚未创建的对象 大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
数据类型-检测数据类型
通过typeof关键字检测数据类型
类型转换
JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。 坑: 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。
此时需要转换变量的数据类型。 通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。
隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
规则:
- +号两边只要有一个是字符串,都会把另外一个转成字符串
- 除了+以为的算术运算符 比如 - / *等会把数据转成数字类型
缺点:
- 转换类型不明确
小技巧:
- +号可以作为正号解析 可以转换成number
显示转换
转换为数字型:
-
Number(数据)
- 转成数字类型
- 如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
- NaN也是number类型的数据,代表非数字
-
parseInt(数据)
- 只保留整数
-
parseFloat(数据)
- 可以保留小数
转换为字符型:
- String(数据)
- 变量.toString(进制)