重新巩固JS(一)——JavaScript基本类型
栏目: JavaScript · 发布时间: 5年前
内容简介:重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第一篇。其他JS重新巩固系列:在编程领域中,数据类型(data type)用来将变量的值(value)进行分类,这样在对变量的值进行数学、关系、逻辑等运算时就不会产生错误了。例如:
重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第一篇。
其他JS重新巩固系列:
JavaScript基本类型
在编程领域中,数据类型(data type)用来将变量的值(value)进行分类,这样在对变量的值进行数学、关系、逻辑等运算时就不会产生错误了。例如: 2 * 2
是合法的, 2 * John
就不合法了。
JS中的基本类型分为 原始类型 和 对象类型两种 。
1. 原始类型:
原始类型(6种): Number、String、Boolean、Symbol、Null、Undefined
。
1.1 数值—Number
- 采用标准 :不区分整数和浮点数,所有数值都用浮点数表示,采用IEEE 754标准定义的64位浮点格式。
-
整数
:范围是
-2 ^53 ~ 2^53
,有十进制,二进制(binary,以0b
为前缀,之后的值由0~1
组成)、八进制(octal,以0o
为前缀,之后的值由0~7
组成,注:不推荐以0为前缀的表示法)、十六进制(hexadecimal,以0x
为前缀,之后的值由0~9
和a~f
(10~15)组成)表示。例如:
//二进制 0b11 //合法 0b22 //不合法 //八进制 0o67 //合法 0o89 //不合法 //十六进制 0xAf //合法 0xjk //不合法 复制代码
-
浮点数
:数值中必须包含一个小数点,小数点后至少要有一位数字,浮点数计算可能会有误差,对于极大或极小的数值可以用
e
表示法,例如:
//存在误差 0.1 + 0.2 = 0.30000000000000004 //e表示法 3.14e5 //即为314000 复制代码
-
特殊数值
,主要来自:全局直接量(无穷大
Infinity
、非数字NaN
)、Number对象的属性(Number.MAX_VALUE
、Number.MIN_VALUE
等)、Math对象(Math.PI
,Math.E
等)的属性等。
1.2 字符串—String
- 采用标准 :用来表示文本,由0个或多个16位Unicode字符组成的字符序列。
- 可以使用单引号或者双引号 (效果一样,必须成对出现),在JS代码中经常会出现HTML字符串,由于HTML标签中的属性值推荐的是双引号,所以JS字符串 推荐使用单引号 ,例如:
let imgEl = '<img src="xxxx.jpg" title="my photo">' 复制代码
- 索引从0开始,长度是字符的个数 。
let str = 'Hello World' str.length // => 11 str[0] // => 'H' 复制代码
-
字符串不能直接换行
,如果想拆分成多行,需要在每行的结尾添加反斜杠
\
,输出的结果还是单行。
// 错误写法 'ab c' //正确写法 let str = 'multiple\ lines\ end' str // => 'multiplelinesend' 复制代码
-
转义字符
:反斜杠后加一个字符表示转义字符,比如
\n
表示换行符,如果斜杠后面的字符没有特殊含义,则忽略斜杠。常见转义字符:
字符 | 含义 |
---|---|
\n
|
换行 |
\\
|
斜杠 |
\'
|
单引号,在用单引号表示的字符串中使用 |
\"
|
双引号,在用双引号表示的字符串中使用 |
\xnn
|
十六进制代码表示的一个字符(其中n为0~F)。例如, \x41
表示'A' |
\unnnn
|
十六进制代码表示的unicode字符(其中n为0~F)。例如, \u03a3
表示希腊字符'∑' |
-
模板字符串(ES6新增)
:使用反引号(重音符,
" ` "
),里面的变量使用${}
包裹,可以直接换行。
let name = 'cc' name // => 'cc' `Hello, ${name}` //=> 'Hello, cc' 复制代码
1.3 布尔值—Boolean
用来表示真或假,开或关等含义。
-
只有两种值
:
true
和false
,通常用于if/else语句
中,若为true则执行if语句中的逻辑,否则执行else里面的逻辑。
if( status === 'open') { console.log('Door is open'); } else { console.log('Door is closed'); } 复制代码
-
假值和真值
:JS中任意值都可以转换为布尔值。一共6个值(
undefined、null、0、-0、NaN、""
)会被转换成false,其他值都是true 。
1.4 字符—Symbol(ES6新增)
可用作对象的非字符串属性,它是唯一且不可变的,例如:
let uniqueName = Symbol(); let person = {}; person[uniqueName] = 'cc'; console.log(person[uniqueName]); // => cc 复制代码
(备注:后期详细讲解)
1.5 Undefined
表示未定义或不存在,只有一个值 undefined 。
let abc; console.log(abc); // => undefined console.log(abcd); //报错,注意未赋值和未声明的区别 let obj = {}; console.log(obj.name) // => undefined 复制代码
1.6 Null
表示空值,Null类型只有一个值 null 。如果定义一个变量来表示一个对象的话,声明时推荐将其设置为null。
let obj = null; obj = { name: 'cc'} 复制代码
2. 对象类型—Object:
除了原始类型的值以外,其他都是对象。对象是键值对的集合,值可以是原始值,也可以是对象。例如:
//author对象:有name属性,值为'cc',还有age属性,值为100 let author = { name: 'CC', age: 100 } 复制代码
2.1 重要的特殊对象
特殊对象: 函数 Function
、 数组 Array
、 日期 Date
、 正则 RegExp
、 全局 Global
、 错误 Error
。
(备注:后期单独详细讲解)
3 类型识别
可以使用typeof操作符来检测变量的数据类型,它返回的值为一个小写的字符串。
变量abc的取值 | typeof abc 的结果 |
---|---|
let abc;
|
'undefined'
|
let abc = true;
|
'boolean'
|
let abc = 123;
|
'number'
|
let abc = 'abc';
|
'string'
|
let abc = function () {};
|
'function'
|
let abc = {}; //[]、null
|
'object'
|
let abc = Symbol();
|
'symbol'
|
说明:整理自网易公开课。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Python 基础巩固:位运算的奥妙
- 重新巩固JS(三)——JavaScript语句
- Android探索与巩固(Kotlin下的EventBus)
- TCP协议灵魂之问,巩固你的网路底层基础
- Android探索与巩固(微信QQ第三方登陆填坑)
- 重新巩固JS(二)——JavaScript操作符与表达式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。