JS高阶---简介+数据类型
首先看下大概流程
【一】基础
接下来看下数据类型分类和判断
(1)数据类型分类
基本类型/值类型5种
---字符串String、数字Number、布尔值Boolean、未定义undefined、空null 对象类型/引用类型
---Object(任意对象)
Function(一种特别的对象,可以执行)
Array(一种特别的对象,数值下标属性,内部数据是有序的)
(2)判断数据类型
typeof(可以判断undefined、数值、字符串、布尔值) instanceof(判断对象的具体类型,判断是函数还是数组... ...) ===(仅仅可以判断undefined和null)
1、typeof返回数据类型的字符串表达式,注意"这里返回结果为字符串格式表达的数据类型",且都是小写
2、所以验证undefined数据类型时必须注意,typeof返回的时数据类型的字符串表达式
3、除了使用typeof还可以使用===严格运算符作比较,如下所示
4、使用typeof判断null
此时发现返回的是object,无法使用typeof判断null数据类型,这里需要用到===严格运算符
console.log(y === null);//true
此时发现可以用严格运算符===判断的数据类型包含两个,即undefined和null
原因:这两个数据类型只有一个值
5、接下俩判断复杂数据类型
instanceof实例隶属于--判断实例对象是否隶属于构造函数
6、万物皆对象
正如上面所说,Object是任意对象,Function是一种可以执行的特别的对象,而Array也是一种特别的对象,拥有数值下标,且内部数据是有序的
7、判断函数数据类型还有其他方案,即typeof
8、验证console.log数据类型
//true
(3)小结
1、对象作用:存储数据
2、数据也是特殊对象,有序性
3、类型判断
【二】相关问题
(1)什么是实例?
实例也叫实例对象,是由类型对象即构造函数实例化后得出的对象
(2)undefined和null区别?
1、undefined代表定义了未赋值 2、null代表定义了,且赋值了,但是值为null
(3)何时给变量赋值为null?
注意:
null为空,属于基本数据类型
但typeof null为object
自相矛盾... ...
但是要从开发角度理解,例如b为对象,但是此时数据还没有过来,所以此时可以赋值为null,表示后期将要赋值为对象
此时b便确定了对象赋值,最后如果再为null,则会释放该数据对象所占用的内存---即释放数据对象所占内存
答案:---初始赋值和结束赋值
(4)如何严格区别变量类型和数据类型?
.
相关文章
- JS 逆向 --- 过无限debugge、hook、js混淆还原、控制流混淆
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- html,js打电话,拨号,发短信,发邮件,激活Android市场,地图定位GP
- JS AJAX跨域详解,支持get和post请求
- 【Vue/js】Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
- 爬虫之JS的解析确定js的位置
- Vue - 实现用 JS 调用自定义组件 / 类似 ElementUI 弹框组件(在 js 文件中通过 this.xxx 方式调用并显示自定义弹框模态框组件)
- Vue - 在纯 JS 文件中调用自定义组件 / 类似 ElementUI 弹框组件 Message、Modal(在纯 js 文件中通过 import 方式引入并调用弹框模态框组件显示出来,)
- JS leetcode 检查单词是否为句中其他单词的前缀 解题分析,活用startsWith方法
- 【Three.js基础】创建场景、渲染场景、创建轨道控制器(一)
- php 输出 js数组与对象
- Three.js教程之在网页快速实现 3D效果(教程含源码)
- JS教程之使用 P5.js 构建一个贪吃蛇游戏(教程含源码)
- JS教程之Electron.js设计强大的多平台桌面应用程序的好工具
- 聊聊JS动画库:Velocity.js
- 【Node.js】学习Node.js简介、读取本地文件、连接数据库和MySQL常用查询命令(内附详细步骤)——学习Node.js
- 前后端加密解密 【JS加密模块(md5 、 crypto 、 crypto-js、jsencrypt) python RSA加密解密(pycryptodome )模块安装与使用】
- js 给json添加新的字段,或者添加一组数据,在JS数组指定位置删除、插入、替换元素
- JS模板引擎handlebars.js的简单使用
- JS:JS中常见的 “函数名 is not a function” 错误
- JS 工具函数 方法(其中js的crc32和php的crc32区别)
- JS 将数字字符串数组转为 数字数组 (互换),js获取数组对象中 某一个key的值,js判断一个数组是否包含另一个数组(一维数组)
- js中的位运算
- js判断是否安装flash player及当前版本 和 检查flash版本是否需要升级
- QQ JS_SDk相关功能接口
- js用new Object创建json数据
- JS-改变页面的颜色(三)
- Node.js:Stream(流)
- 【HarmonyOS】【JS】 鸿蒙js开发使用div自带的scroll,滑动条拉不到最下面?
- 【 D3.js 入门系列 --- 0 】 简介及安装
- JQuery/JS插件 linq.js 入门