JavaScript介绍
JavaScript是什么
javascipt是运行在客户端(浏览器)的一种编程语言,可以实现网页人机交互的作用
javascipt的作用
确认网页的行为交互、
javascipt的组成
- ECMAScript:javascipt的核心,定义javascipt的语言规范
- DOM:文档对象模型,DOM把HTML看做文档数
- BOM:浏览器对象模型,通过
BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
JavaScript书写位置
内嵌式
通过script标签包裹JavaScript代码
<script>
// 页面弹出警示框
alert('内容')
</script>
行内样式
写在行内
<button onclick="alert('点我')">天王盖地虎</button>
外联式
通过html引入js文件
<script src="my.js">
// 中间不要写内容
</script>
注释和结束符
单行注释
使用 // 注释单行代码
快捷键:ctrl + /
多行注释
使用 /* */ 注释多行代码
结束符
在 JavaScript 中 ; 代表一段代码的结束,多数情况下可以省略 ; 使用回车(enter)替代。
输入与输出语法
输出
将数据显示到网页上:document.write
// 1. 将数据显示到网页,相当于给body添加内容
document.write('我是div标签')
document.write('<h1>我是标题</h1>')
在网页弹出一个提示框,输出数据:
//2 .在网页弹出一个提示框
alert("hello world");
控制台输出语法,程序员调试使用
//3. 控制台打印输出,给程序员看的.
console.log("欢迎大家来到黑马程序员");
输入
在网页弹出一个输入框,让用户输入数据
prompt('请输入您的年龄:')
在网页弹出一个确认框,让用户输入 确认/取消 二选一
confirm("你确定你已经成年了吗?");
变量
变量的声明
声明(定义)变量有两部分构成:声明关键字、变量名(标识)
// let 变量名
// 声明(定义)变量有两部分构成:声明关键字、变量名(标识)
// let 即关键字,所谓关键字是系统提供的专门用来声明(定义)变量的词语
// age 即变量的名称,也叫标识符
let age
变量命名规范
关于变量的名称(标识符)有一系列的规则需要遵守:
- 只能是字母、数字、下划线、$,且不能能数字开头
- 字母区分大小写,如 Age 和 age 是不同的变量
- JavaScript 内部已占用于单词(关键字或保留字)不允许使用
- 尽量保证变量具有一定的语义,见字知义
规范:
- 起名要有意义
- 遵守小驼峰命名法
- 第一个单词首字母小写,后面每个单词首字母大写
数据类型
基本数据类型:number(数字型) . string(字符串型). boolean(布尔型) . undefined(未定义型) . null(空类型)
数字型
即我们数学中学习到的数字,可以是整数、小数、正数、负数
// js 弱数据类型的语言 只有当我们赋值了,才知道是什么数据类型
let score = 100 // 正整数
let price = 12.345 // 小数
let temperature = -40 // 负数
// java 强数据类型的语言 int num = 10
字符串型
通过单引号( '') 、双引号( "")或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
注意事项:
- 无论单引号或是双引号必须成对使用
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单 或者外单内双)
- 必要时可以使用转义符 ``,输出单引号或双引号
布尔型
表示肯定或否定时在计算机中对应的是布尔类型数据,它有两个固定的值 true 和 false,表示肯定的数据用 true,表示否定的数据用 false。
// 1. true false 是布尔型字面量
console.log(3 > 4)
let isCool = false
console.log(isCool)
未定义
未定义是比较特殊的类型,只有一个值 undefined,只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
``
// 2. 未定义类型 弱数据类型 声明一个变量未赋值就是 undefined
let num
console.log(num)
空类型
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
// 3. null 空的
let obj = null
console.log(obj)
// 计算有区别
console.log(undefined + 1) // NaN
console.log(null + 1) // 1