起源
JavaScript主要用于处理网页中的前端验证,也就是检查用户输入的内容是否符合一定的规则,比如用户名长度、密码长度、邮箱格式等。
ECMAScript是JavaScript标准,这个标准需要各个厂商去实现。不同的浏览器厂商对该标准会有不同的实现。
一个完整的JavaScript标准包括三部分:ECMAScript(标准)、DOM(文档对象模型)、BOM(浏览器对象模型)。
JS的特点
- 解释型语言
- 类似 C 和 JAVA 的语法结构
- 动态语言
- 基于原型的面向对象
初次使用
弹出一个警告框:alert("this is my first js code");
在页面中 (body里) 输出一个内容:document.write(''喵喵喵");
向控制台输出一个内容:console.log("啾咪");
JS的编写位置
- 标签的
onclick属性中 - 超链接的
href属性中 script标签中<script> </script>- 外部.js文件中,然后通过 script 标签引入
<script type="text/javascript" src="./learn.js"></script>。一旦引入了外部文件,就不能在标签内部编写代码了,写了也会被忽略。
基本语法
多行注释:/* */;
单行注释://;
js中严格区分大小写;
每条语句以分号结尾;
字面量和变量
字面量:不可改变的值,都是可以直接使用的值,如1,2,3;一般不会直接使用;
变量:可以改变的值,用来保存字面量,更加方便使用。
\qquad \;
声明变量:var x;
\qquad \;
变量赋值:x = 20;
数据类型指的是字面量的类型。在JS中一共有6种数据类型:String字符串、Number数值、Boolean布尔值、Null空值、Undefined未定义、Object对象,前五种属于基本数据类型,最后一种属于引用数据类型。
标识符
在JS中,所有可以由我们自主命名的都可以称为标识符。规则如下:
- 标识符中可以含有字母、数字、_、$;
- 标识符不能以数字开头;
- 标识符不能是ES中的关键字或保留字;
- 采用驼峰命名法:首字母小写;每个单词的开头字母大写,其他字母小写;
- (JS底层保存标识符时采用的是Unicode编码,所以理论上所有的utf-8中含有的内容都可以作为标识符)
基本数据类型
- 字符串
举例:var str="Hello";,""和‘’都可以。 - Number
JS中所有的数值都是Number类型,包括整数和浮点数。
可以用console.log(typeof a);输出a的数据类型。
JS中数字的最大值:Number.MAX_VALUE,如果使用Number表示的数字超过了最大值,则会返回一个Infinity,表示正无穷,或者-Infinity,表示负无穷;
JS中数字的最小值:Number.MIN_VALUE,大于0的最小正数;
特殊数字NaN,表示 Not a Number。
typeof Infinity和typeof NaN都是Number。
JS中整数的运算基本可以保证精确,浮点数运算不一定精确。 ⟶ \longrightarrow ⟶ 别进行浮点数运算了。 - 布尔值
true逻辑真
false逻辑假
typeof 一个布尔值返回Boolean - Null 和Undefined
Null型的值只有一个:null;
var a = null;专门用来表示一个为空的对象,typeof a返回object。
Undefined型的值也只有一个:undefined;
声明一个变量但未赋值时,这个变量的值就是undefined,typeof 一个undefined值返回undefined。 - 强制类型转换
转换为String
调用被转换数据类型的toString()方法:var a = 123; var b = a.toString();此时b = "123";注意:null和undefined没有toString()方法;
调用String()函数:var a = 123; var b = String(a);此时b = "123";注意:此时可以转换null和undefined为"null"和"undefined";
转换为Number
调用Number()函数:var a = "123"; var b = Number(a);此时b = 123;
字符串转数值时:
\qquad 如果是纯数字的字符串,则直接转换为数字;
\qquad 如果字符串中有非数字的内容,则转换为NaN;
\qquad 如果字符串为空或者全是空格,则转换为0;
\qquad 如果是布尔值,那么转换为1或0;
\qquad 如果是null,则转换为0;
\qquad 如果是undefined,则转换为NaN;
专门转换字符串:parseInt()提取字符串中有效的整数内容进行转换;parseFloat()提取字符串中有效的浮点数内容进行转换;对非String使用时,先将其转换为String再操作。
转换为Boolean
调用Boolean()函数:var a = "123"; var b = Boolean(a);此时b = true;
数字转布尔值时,除了0和NaN,都会转为true;
字符串转布尔值时,除了空字符串,都会转为true;
null、undefined和object型数据都转为false。 - 其他进制的数字
十六进制:0x开头;
八进制:0开头;
二进制:0b开头,但不是所有的浏览器都支持;
注:parseInt(a, 10);将a以十进制转换为数字。
运算符
- 算术运算符
+ - * / %,对非Number值进行运算时,会先将它们转换为Number型再运算;注意以下两个特例(只有这两个):
字符串进行加法时除外,它们会拼接;
任何值和字符串做加法,都会将它转换为字符串再拼接; - 一元运算符
+ -,正号、负号,对非Number值进行运算时,会先将它们转换为Number型再运算;
++ --,自增、自减 - 逻辑运算符
! && ||,“与”和“或”都是短路运算符; - 关系运算符
> < ==,非数值进行比较时,先转换成数值再比较;任何值和NaN做任何比较都是false;两个字符串比较时,比较Unicode编码; - 条件运算符(三元运算符)
条件表达式 ? 语句1 : 语句2
本文介绍了JavaScript的起源,重点讲解了其在前端验证的应用,涵盖了ECMAScript标准、DOM和BOM,以及JS的特点如解释型、语法结构和动态特性。此外,还概述了如何开始使用JS,变量声明、数据类型、标识符规则、基本数据类型和运算符等内容。

被折叠的 条评论
为什么被折叠?



