摘要:对象类型除了原始类型的值以外,其他都是对象。例如对象有属性,值为,还有属性,值为重要的特殊对象特殊对象函数数组日期正则全局错误。
重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第一篇。
其他JS重新巩固系列:
重新巩固JS(二)——JavaScript操作符与表达式
重新巩固JS(三)——JavaScript语句
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等)的属性等。
采用标准:用来表示文本,由0个或多个16位Unicode字符组成的字符序列。
可以使用单引号或者双引号(效果一样,必须成对出现),在JS代码中经常会出现HTML字符串,由于HTML标签中的属性值推荐的是双引号,所以JS字符串推荐使用单引号,例如:
let imgEl = ""
索引从0开始,长度是字符的个数。
let str = "Hello World"
str.length // => 11
str[0] // => "H"
字符串不能直接换行,如果想拆分成多行,需要在每行的结尾添加反斜杠,输出的结果还是单行。
// 错误写法 "ab c" //正确写法 let str = "multiple lines end" str // => "multiplelinesend"
转义字符:反斜杠后加一个字符表示转义字符,比如 表示换行符,如果斜杠后面的字符没有特殊含义,则忽略斜杠。常见转义字符:
字符 | 含义 |
---|---|
换行 | |
斜杠 | |
" | 单引号,在用单引号表示的字符串中使用 |
" | 双引号,在用双引号表示的字符串中使用 |
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 。
可用作对象的非字符串属性,它是唯一且不可变的,例如:
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" |
说明:整理自网易公开课。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/6977.html
摘要:重新巩固系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第二篇。关系运算符用于比较操作符左右的操作数的大小。逻辑运算符主要通过与或非来判断一个表达式的值是否为。注意与和或操作具有短路计算效果。重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第二篇。 其他JS重新巩固系列: 重新巩固JS(一)——JavaScript基本类型 重新巩固JS(三)——JavaSc...
摘要:重新巩固系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。其中,部分可以省略条件语句语句例子为,小于但大于,故输出语句当表达式的值等于值时,执行语句,遇到语句则跳出语句,若都没匹配到值,则执行中的语句。重新巩固JS系列,都是比较基础的东西,可以进行查漏补缺,很快看完,这是第三篇。 其他JS重新巩固系列: 重新巩固JS(一)——JavaScript基本类型 重新巩固JS(二)...
摘要:基础巩固基础总结使用已经好几年了,由于工作主要是做服务端开发,在工作中逐渐发现的使用范围原来越广泛。这里要注意,务必将基础部分掌握牢靠,磨刀不误砍柴功,只有将基础部分掌握并建立起系统的知识体系,在后面学习衍生的其他模式才能游刃有余。 基础巩固:JavaScript基础总结 使用JavaScript已经好几年了,由于工作主要是做服务端开发,在工作中逐渐发现JavaScript的使用范围原...
摘要:为了由简入繁,不妨将这些类型划分为基本类型复合类型。以下将渐进式的对的这些类型进行了解。实际上,有一种属性描述对象,是通过获取的。但无论如何,类型检查是可以排除大部分错误的。在函数的类型声明中,继续来巩固这条规则的写法。 几个月前把 ES6 的特性都过了一遍,收获颇丰。现在继续来看看 TypesScript(下文简称为 TS)。限于经验,本文一些总结如有不当,欢迎指正。 概述 官网有这...
摘要:中所有函数的参数都是按值传递的。基本类型本身是按值传递,具有不可变性,对基本类型的修改,实质上都是在栈内存中创建了新的值。中把这种拷贝也认为是按值传递。 本文共 1200 字,读完只需 5 分钟 概述 参数的传递分为按值传递和按引用传递,而 JavaScript 中参数的传递只有按值传递。 ECMAScript 中所有函数的参数都是按值传递的。 所谓按值传递就是: 把函数外部的值复制给...
阅读 665·2023-04-25 22:50
阅读 1494·2021-10-08 10:05
阅读 954·2021-09-30 09:47
阅读 1833·2021-09-28 09:35
阅读 794·2021-09-26 09:55
阅读 3378·2021-09-10 10:51
阅读 3405·2021-09-02 15:15
阅读 3273·2021-08-05 09:57