JavaScript基础
一、初步了解JavaScript
JavaScript (是什么?)
是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。
作用(做什么?)
- 网页特效 (监听用户的一些行为让网页作出对应的反馈)
- 表单验证 (针对表单数据的合法性进行判断)
- 数据交互 (获取后台的数据, 渲染到前端)
- 服务端编程 (node.js)
JavaScript的组成(有什么?)
ECMAScript: 规定了js基础语法核心知识。 比如:变量、分支语句、循环语句、对象等等
Web APIs : DOM : 操作文档,比如对页面元素进行移动、大小、添加删除等操作; BOM : 操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等; 注意 :DOM属于BOM.
二、JavaScript的三种引入方式
1、内部
直接写在html文件里,用script标签包住。(自己写小demo)
注意:script标签写在< /body>上面。
2、内联(不推荐使用)
代码写在标签内部(了解即可)。
3、外部(常用)
将js代码写在**.js** 文件里,通过script标签引入到html页面里。
script标签也是写在< /body>上。
三、JavaScript注释方法、结束符
a.注释
1.单行注释
- 符号://
- 作用://右边这一行的代码会被忽略
- 快捷键:ctrl + /
2.多行注释(块注释)
- 符号:/* */
- 作用:在/* 和 */ 之间的所有内容都会被忽略
b.结束符
- 代表语句结束
- 英文分号 ;
- 可写可不写(现在不写结束符的程序员越来越多)
- 换行符(回车)会被识别成结束符 ,所以一个完整的语句,不要手动换行
- 因此在实际开发中有许多人主张书写 JavaScript 代码时省略结束符
- 但为了风格统一,要写结束符就每句都写,要么每句都不写(按照团队要求.)
四、输入输出语法
a.输出语法
- 向body内输出内容
- 如果输出的内容写的是标签,也会被解析成网页元素
页面弹出警告对话框
控制台输出语法,程序员调试使用
b.输入语法
显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字,获取的输入内容是字符串
小效果:将用户的输入,输出到网页中
<script>
username = prompt('请输入你的名字'); /* username 不能用分号包裹 */
document.write(username); /* username 不能用分号包裹 */
</script>
五、变量
变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子。
1.变量声明
2.变量赋值
3.更改变量
注意:let 不允许多次声明一个变量
4.声明多个变量
示例1:
<script>
let count=20, username='张三';
console.log(count,username)
</script>
示例2:
<script>
let num1=10, num2=20,temp; //定义一个临时变量
temp=num1;
num1=num2;
num2=temp;
console.log(num1,num2)
</script>
5.变量命名规则与规范
a. 规则:
- 不能用关键字;关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等
- 只能用下划线、字母、数字、$组成,且数字不能开头
- 字母严格区分大小写,如 Age 和 age 是不同的变量
2. 规范:
- 起名要有意义
- 遵守小驼峰命名法(userName)
六、数据类型
1. JS 数据类型整体分为两大类
a.基本数据类型
-
number 数字型
-
string 字符串型
-
boolean 布尔型
-
undefined 未定义型
-
null 空类型
b.引用数据类型(了解)
- object 对象
- function 函数
- array 数组
2.检测数据类型
a.控制台输出语句
可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色
b.通过 typeof 关键字检测数据类型
3.数据类型转换
a.为什要进行数据转换
使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。
b.隐式转换
规则:
+号两边只要有一个是字符串,都会把另外一个转成字符串; 除了**+以外的算术运算符 比如 - * / 等都会把数据转成数字类型**
缺点:
转换类型不明确,靠经验才能总结
小技巧:
+号作为正号解析可以转换成Number
c.显示转换
1.转换为数字型
Number(数据)
- 转成数字类型
- 如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字
- NaN也是number类型的数据,代表非数字
parseInt(数据)
只保留整数
parseFloat(数据)
可以保留小数
2.转换为字符型
String(数据)
变量.toString(进制)