JavaScript基础篇(一):数据类型

哎哟,聊起JavaScript的数据类型,我这里就有点话说了。
记得有年,我在做一个小项目,那时候还是个新手,对数据类型理解不深,结果踩了不少坑。

首先说undefined和null吧。
那时候有个函数,我直接写了个变量没赋值,想着后面会赋值,结果用的时候发现是undefined,那可把我坑惨了。
后来才知道undefined表示未定义,null是空值。
记得那时候一个朋友的项目里,他写了个判断,如果变量是null,就认为它不存在,结果null和undefined都判断成不存在了,闹了个大笑话。

然后是Boolean类型,那时候有个表单验证,我写了个if判断,判断用户是否勾选了某个复选框,结果勾选了也没反应,一查才知道,Boolean类型在if判断里会自动转换为true或false,得手动判断。

String类型是常用的,那时候我用了一个indexOf方法,想着查找字符串,结果发现有时候找不到,还以为是自己代码写错了,后来才知道,fromIndex参数要大于等于0,否则会被转换成0,然后可能就查不到结果了。

再说说Symbol类型,那时候我刚开始接触JavaScript,看了一个关于Symbol的例子,发现这个类型挺特别的,它保证了唯一性,那时候我就想着怎么在项目中用一用。

Number类型和BigInt类型,那时候我用Number类型处理数字,结果发现有些大数字处理起来不准确,后来学了BigInt,才知道它可以处理任意精度的整数。

typeof操作符,那时候我对这个运算符有点误解,以为它可以判断所有数据类型,结果发现对null和函数类型判断不准确,后来才知道,typeof只能判断基础数据类型和函数。

instanceof和isPrototypeOf,这两个方法,那时候我也搞不清,以为都是用来判断类型的,后来才知道,instanceof是用来判断构造函数的原型是否出现在对象的原型链上,isPrototypeOf则是用来测试一个对象是否存在于另一个对象的原型链上。

Object.prototype.toString方法,那时候我很少用到这个方法,后来才知道它可以准确地判断数据类型。

至于数据类型转换,那时候我对这个有点懵,比如Number函数,它会尽可能多地解析数值字符,有时候会返回NaN,那时候我还不知道怎么处理。

最后说说运算符,那时候我对一元操作符+和二元操作符+的理解不深,不知道它们会发生隐式类型转换,结果写出来的代码逻辑错误。

现在回想起来,那时候真是踩了不少坑啊,不过也正是因为这些坑,让我对JavaScript的数据类型有了更深的理解。
哎,说起来都是泪啊!😂

JavaScript的六种数据类型

基本数据类型六种:Number、String、Boolean、Null、Undefined、Object。

Number分整型、浮点型。
整型:十进制1 2 3 、八进制01 2 3 、十六进制0x1 2 3
浮点型:十进制表示,科学记数法3 .1 4 E9
String用单引号或双引号。
'包含":'大家好,我叫"tom"'。
"包含':"大家好,我叫'tom"'。

Boolean:true、false。
0为false,非0为true。

Null:表示空值。
vara=null;
Undefined:表示未定义。
vara; alert(a);输出undefined。

Object:复杂数据结构类型。

特殊字面量:转义字符\。
b:退格。
n:换行。

变量声明:必须用var。
var a;

javascript 中有哪些对象

说实话,这堆东西看着就头大啊。
咱一个一个来说哈。

ActiveXObject 对象,这个是搞自动化的。
你要用这个,得先搞明白这个引用怎么返回。
比如你写个脚本,要操作Excel,就得用这个对象引用Excel的那个COM组件。

Array 对象,创建数组。
比如你写个脚本,要处理一堆数据,就创建个Array对象,把数据放进去。
用得多了,你就知道怎么操作了。

Boolean 对象,存储布尔值。
就是True或者False。
很简单,不用多解释。

Date 对象,存储日期和时间。
比如你要记录一个事件发生的时间,就用Date对象。
像这样:new Date()。

Dictionary 对象,存储键值对。
跟Object类似,但是键值对更清晰。
比如你要记录用户信息,用Dictionary就很方便。

Enumerator 对象,这个是枚举用的。
用来遍历集合里的东西。
用的时候你会有体会。

Error 对象,处理错误信息。
比如你的脚本出错了,Error对象会告诉你错在哪里。

FileSystemObject 对象,操作文件系统。
你要读写文件,就用这个。
比如你要读取一个文件,就创建FileSystemObject,然后操作。

Function 对象,创建函数。
这个比较高级,一般脚本不太用得上。

Global 对象,提供全局方法。
比如Math对象就是Global的。

Math 对象,数学运算。
像sin啊cos啊,这些都有。
用得多了你就知道。

Number 对象,处理数字。
这个一般也不太用。

Object 对象,通用的对象。
就是基础。

RegExp 对象,正则表达式。
处理字符串的利器。
像查找某个模式啊,替换字符串啊,都用这个。

String 对象,处理字符串。
基本操作都有,像拼接啊,查找啊。

VBArray 对象,这个是跟Visual Basic相关的,处理安全数组。
一般用得不多。

纯手打,确实挺麻烦的。
希望能帮到你。