前端学习-JavaScript语法、数据类型

119 阅读8分钟

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 + "",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串。

+ 号的特殊性

  1. 两边只要有一个是字符串,那么 + 就是字符串拼接功能
  2. 两边如果都是数字,那么就是算术功能。

转换成数值类型

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数字、非空字符串