JavaScript 的基本语法
书写位置
行内式
<input type="button" value="button" onclick="alert('hello world')">
页内式
<head>
<script>
alert("hello world");
</script>
</head>
外联式
<script src="main.js"></script>
注释
js 注释分为两种:块级注释和单行注释。
块级注释:又叫做多行注释,作用范围是选中的多行,写作 /**/。
单行注释:作用范围只有符号后面的一行,写作 //。
alert() 语句
alert:警示、警告。
作用:在浏览器中弹出一个警示框,警示框的警示内容可以人为自定义。
alert 语句是一个 js 内置好的功能(函数、方法),要想实现功能必须在 alert 关键字后面
加小括号执行,自定义的内容需要传递给小括号内的参数,输出时参数位置的内容会出现 在弹框位置。
alert("hello world");
语法
语法1:alert 语句作为一个函数,如果要执行,必须在后面紧跟着添加小括号。
语法2:alert 语句作为一个函数,小括号内部可以传递参数,根据数据类型不同,有不同
的语法要求,例如文字内容(字符串)必须写在一对引号内部。
语法3:如果需要添加一对引号,要么是单引号,要么是双引号,不能一单一双。
语法4:所有的有特殊功能的符号必须是英文字符。
语法5:语句后面的分号必要性。
语法6:js 对换行、缩进、空格也不敏感。
语法7:如果 js 中没有特殊控制结构,代码都是从上往下、从左往右进行加载。
prompt() 语句
prompt:提示。
作用:弹出一个对话框,内部有一个提示语句以及一个输入框,可以在输入框中根据提示任意输入内容。
prompt 语句也是 js 内置的一个功能,必须加小括号执行,有两个参数可以进行传递,每个参数一般都是字符串类型,必须加引号,两个参数中间用逗号分隔,引号和逗号都必须 是英文输入法状态。
prompt("请输入您的年龄","18");
第二个参数位置的值,可以删除并重新输入新的内容,甚至代码中可以不写第二个参数。
prompt("请输入您的年龄");
console 控制台
在大部分浏览器中,都有一个控制台,内部可以查看 HTML、css 代码,甚至调试代码错误。
浏览器中右键点击审查元素(检查),都可以打开控制台。
快捷键: F12.
控制台中有一个 console(控制台) 的选项面板,在js中有非常重要的作用。
JavaScript 的书写语法
数字字面量
这里的数字就是数学意义上的数字。
数字字面量区分:整数字面量、浮点数字面量(小数)、特殊值。
书写时直接书写字面量,不需要添加任何辅助符号。
整数
整数字面量写法区分进制。
整数可以被表示成十进制(基数为10)、八进制(基数为8)以及十六进制(基数为16)。
十进制是最基本的数值字面量格式,可以直接在代码中输入。
八进制字面值必须带前导0、0O、0o 。八进制整数只能包括数字0-7。
十六进制的前缀是0x或0X。后面可以包含数字(0-9)和字母af或AF。
在进行算术计算时或者参与程序,所有八进制和十六进制的数字都会被转换成十进制。
整数的进制
十进制:逢十进一,每个位数只能是0-9之间的数字。
八进制:逢八进一,每个位数上只能是0-7之间的数字,而且必须添加前缀,0、0O、0o。
十六进制:逢十六进一,每个位数上必须是0-9、a-f之间的符号,必须写前缀,0x、0X开头。
特殊的:八进制中,如果以0开头,每个位数上有超过0-7之间的数字出现,也就是8/9,强 制忽视前面的0,直接将后面数字当做十进制。
浮点数
就是数学概念中的小数。
包含:整数、小数点、小数部分。
浮点数不区分进制,所有的浮点数都是十进制下的数字。
注意:如果浮点数是大于0 小于1的,可以省略小数点前面的0不写。
浮点数的精度问题
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数
例如:0.1 + 0.2; 结果不是 0.3,而是:0.30000000000000004
Infinity 无穷
Infinity:无穷的意思。
由于计算机计算能力有限,如果高于最大计算值直接显示为正无穷 Infinity,如果低于最小
计算值直接显示为 -Infinity。
Infinity本身就是一个数字。
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
NaN
NaN:not a number表示不是一个正常的数,但是还是一个 Number 类型的数字。这个数字 没办法用前面的表示方法表示。
NaN与任何值都不相等,包括他本身。
isNaN():判断一个数据是不是一个NaN。
字符串字面量
字符串是由任意个数的有序或无序的字符组成的串,类似人类的语言,在 JS 中有自己特殊 的写法。
组成:字母、汉字、特殊符号、空白等。
字符串字面量写法:是用一对单引号(' ')或双引号(“ ”)及引号内的字符构成,引号中间
的字符可以有任意多个,也可以是没有字符的空字符串。
注意:字符串中如果字符包含了双引号,则其外部应该由单引号标示,反之相同。
转义符号 \
字符串中,有一些特殊功能的字符不能直接书写,还有一些特殊效果不能直接书写。
这时,可以使用转义符 \ 对这些字符进行转义。
在字符串中可以使用转义符 \ 加普通字母,替代一些特殊字符
\n 换行
\t Tab制表
字符串中可以使用转义符 \ 将特殊功能字符变为普通字符。
' 单引号
" 双引号
\ 反斜杠
数据类型
简单数据类型
Number 类型
数字类型,不区分整数、浮点数、特殊值,都是 Number 类型。
String 类型
字符串类型,所有的字符串都是 String 类型。
Boolean 类型
Boolean 字面量: 只有 true 和 false 两个字面量的值,必须是小写字母。
计算机内部存储:true为1,false为0
Undefined 类型
undefined本身是一个数据,表示未定义。
变量只声明的时候值默认是 undefined。
Null 类型
null本身是一个数据。
从逻辑角度,null 值表示一个空对象指针。
如果定义的变量准备在将来用于保存对象,最好将该变量初始化为 null。
检测数据类型
使用 typeof 的方法进行数据检测。
检测方式:在 typeof后面加小括号 () 执行,将要检测的数据放在小括号内部。
console.log(typeof(10));
也可以将 typeof 作为关键字,后面加空格,空格后添加数据的方式,检测数据。
console.log(typeof 88);
变量的数据类型
JavaScript语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部 存储数据的变化,数据类型也会发生变化。
变量的数据类型,与内部存储数据有关。
将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错。
var a = 1;
console.log(typeof(a));
a = "str";
console.log(typeof(a));
数据类型转换
转换成字符串类型
数据.toString() 方法
String(数据) 方法,有些值没有toString(),这个时候可以使用String()。比如:undefined和null
+号拼接字符串方式
num + "",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串。
+ 号的特殊性
- 两边只要有一个是字符串,那么 + 就是字符串拼接功能
- 两边如果都是数字,那么就是算术功能。
转换成数值类型
Number(数据)方法
转型函数Number()可以用于任何数据类型,将其他数据类型转为数字。
字符串:纯数字字符串转为对应数字,空字符串和空白字符串转为 0 ,非空非纯数字字符串转为 NaN。
布尔值:true 转为 1,false 转为 0。
undefined:转为 NaN。
null:转为 0。
parseInt() 方法
字符串转整数方法
作用:第一,对浮点数进行取整操作;第二,将字符串转为整数数字。
1对数字取整功能,直接舍弃小数部分,只保留整数。
2将字符串转为整数数字,也包含取整功能。
字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分,如果不是数字打头的字符串,会转换为NaN。
parseFloat() 方法
字符串转浮点数方法
作用:将字符串转为浮点数数字。
要求:满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN。
Boolean(数据)方法
转型函数 Boolean() 可以用于任何数据类型,将其他数据类型转为布尔类型的值。
转为 false :NaN、0、“”空字符串、null、undefined
转为 true :非0 非NaN数字、非空字符串