js的值类型和引用类型
2024-09-04 17:56:01
(1)值类型:String、Boolean、Number、null、undefined。(原始值)
var a = 2;
var b = a;
b=3;
a ==>2; b ==>3
原始值是不可改变的,每一个变量都存不同的地址
(2)引用类型:对象(Object)、数组(Array)、函数(Function)。(对象引用是可变的)
应用类型当且仅当引用同一基对象才相等,(同一个引用地址)
typeof用于检测简单类型(typeof会返回一个变量的基本类型)
alert(typeof '111'); // "string"
alert(typeof 22); // "number"
alert(typeof a); // "undefined"
alert(typeof undefined); // "undefined"
alert(typeof null);//"object"
alert(typeof []); // "object"
alert(typeof function(){}) ;//"function"
typeof不适合用于判断是Array还是Object,这两个都会判断是object
如果我们想要判断一个变量是否存在
if(a) erroer :Uncaught ReferenceError: m is not defined(若a未声明,则报错)
if(typeof a != 'undefined') 不会报错
instanceof 用于检测实际类型(instanceof返回的是一个布尔值---instanceof 用于判断一个变量是否某个对象的实例)
user instanceof Object
users instanceof Array
最新文章
- C#得到某月最后一天晚上23:59:59和某月第一天00:00:00
- InnoDB事务隔离级别
- 转:对于一个字节(8bit)的变量,求其二进制表示中“1”的个数
- new 一个button 然后dispose,最后这个button是null吗???
- 【Storage】Ubuntu LVM 安装配置
- java使用siger 获取服务器硬件信息(CPU 内存 网络 io等)
- Ansible安装配置及使用
- input的多条数据以数组形势上传
- Android 自定义View修炼-自定义加载进度动画XCLoadingImageView
- [LeetCode228]Summary Ranges
- 简单字符串匹配 Brute
- 一个web项目在myeclipse中add deployment时无法被识别出来的原因
- Hibernate用Oracle的sequence生成自增Id
- ubuntu10.04 安装oracle server 版 笔记
- Spring Boot 2.x 系列教程:WebFlux 系列教程大纲(一)
- Spring中用了哪些设计模式
- Java内存管理-掌握虚拟机类加载机制(四)
- MyBatis-session-SqlSession
- 【树莓派】服务配置相关3:基于Ubuntu Server的服务配置
- LeetCode 18 4Sum (4个数字之和等于target)