js 变量类型
变量类型分为:基础类型和引用类型
基础类型:boolean, string, number, null, undefined, symbol
引用类型: array, object
- typeof: 判断变量的类型
- instanceof:判断某个对象是否是另外一个对象的实例
主要还是理解这两个判断的不同之处,不能死记硬背。
首先清楚地知道变量类型,基础类型和引用类型。
typeof:
数据类型通过typeof判断的结果如下:
| 类型 | 结果 |
| undefined | "undefined" |
| Boolean | "boolean" |
| String | "string" |
| Number | "number" |
| Symbol | "symbol" |
| null | "object"(历史遗留问题) |
| 函数对象 | "function" |
| object,array,window... | "object" |
instanceof:
首先理解一句话,在js里,一切(引用类型)都是对象。
然后看下instanceof的判断规则: A instanceof B
沿着A的__proto__这条线找,同时沿着B的prototype这条线找,如果出现同一个引用就返回true. 如果到终点还未重合就返回false
很容易理解吧。那么
var fn = function () { };
console.log(fn instanceof Object);//true
举例子理解下Instanceof:
let s1 = new String("s");
typeof s1 === "object" //s1是String的实例化对象
s1 instanceof String // true
那再看下这个例子:
let s2 = "s";
typeof s2 === "string"
s2 instanceof String //false
这里为什么是false呢?
这里就要深刻理解typeof和instanceof的通过了。
s2只是个数据类型的值,并不是String的实例化对象
再看下null 和 undefined的不同之处:
- null == undifined (true) ; null === undefined (false)
- typeof null; //object typeof:undefined; //undifined
- null参与计算时会自动转换为0,undefined不会转换
123 + null ; //123
123 + undefined; //NAN
js 变量类型的更多相关文章
- js变量类型详解
<html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...
- js变量类型和计算
# js入门基础-变量类型和计算 ` --首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的. -- ...
- JS变量类型与计算
一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...
- js变量类型及检查
一.变量的类型 JavaScript 有六种数据类型.主要的类型有 Number.String.object 以及 Boolean 类型,其他两种类型为 null 和 undefined.var ob ...
- Js变量类型
值类型和引用类型 值类型(基本类型):5种,Number String Boolean null undefined var a=10; var b=a; a=2; console.log(b); a ...
- JS 变量类型互相转换
转载自:http://zhaizhiyuan.blog.163.com/blog/static/1897672632009093147268/ Java中几种常用的数据类型之间转换方法: 1. sh ...
- js变量类型判断 严格通用 Object.prototype.toString.call()
Object.prototype.toString.call()判断结果: Object.prototype.toString.call(true) "[object Boolean]&qu ...
- js面试题知识点全解(一变量类型和计算)
1.js中使用typeof能得到哪些类型 2.何时使用===和== 3.js中的内置函数 4.js变量按存储方式区分为哪些类型,并描述其特点 5.如何理解json 以下对这些问题的知识点做一些总结: ...
- js课程 1-3 Javascript变量类型详解
js课程 1-3 Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...
随机推荐
- 网站模板-Layui:Layui
ylbtech-网站模板-Layui:百科 layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的 ...
- java8 stream编程
说明:这是基于同事的培训材料做的练习,记录下来,以作日后自己coding分析和改进 1.准备 pom.xml <dependency> <groupId>org.apache. ...
- 【Linux 应用编程】文件IO操作 - 常用函数
Linux 系统中的各种输入输出,设计为"一切皆文件".各种各样的IO统一用文件形式访问. 文件类型及基本操作 Linux 系统的大部分系统资源都以文件形式提供给用户读写.这些文件 ...
- yum基本使用方法
yum 是 Fedora RHEL Centos SUSE等linux 发行版的 软件包管理工具 通过 执行 man yum 查看yum的帮助信息 可以知道 yum makecache 是将服务器上的 ...
- Django-DRF组件学习-路由学习
1.路由router 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提 ...
- 前端 CSS 盒子模型 目录
CSS盒子模型介绍 padding border属性
- python winsound模块
(目标:出现交易下单.结束成交.数据中断等信号的时候,PC 发出声音提醒.) python winsound模块 winsound是Python的内置包,无需下载.可以直接通过 import wins ...
- java程序启动脚本
#!/bin/bash appName=`ls|grep .jar$` if [ -z $appName ] then echo "Please check that this script ...
- CentOS7 源进源出
echo 200 ct >> /etc/iproute2/rt_tablesecho 201 cu >> /etc/iproute2/rt_tables ip route ad ...
- windows上zeal安装和使用--离线API文档
1.官网:https://zealdocs.org/download.html#windows 2.github:https://github.com/zealdocs/zeal 3.下载:可下载安装 ...