js数据类型 判断
1. js数据类型(两种数据类型)
- 基本数据类型:null undefined number boolean symbol string
- 引用数据类型: array object
null: 空对象
document.getElementById('')
//娶不到的时候返回 null
undefined: 未定义
//1. 定义一个对象 但是没有赋值
//2.访问数组不存的下标(数组越界)
//3.访问对象不存在的属性
//4.一个没有返回值的函数 默认返回 undefined
2.判断数据类型
typeof
typeof 'q'
"string"
typeof 123
"number"
typeof true
"boolean"
typeof null
"object"
typeof undefined
"undefined"
typeof function() {}
"function"
typeof [1,2]
"object"
typeof {a:'1'}
"object"
判断不了数组和对象
// 方案一
[].constructor === Array
// true
a = {a:'1'}
{a: "1"}
a.constructor === Object
// true
//方案二
arr instanceof Array
//判断arr是否是Array实例化对象
//方案三 有兼容性问题 ie8以上
Array.isArray(arr)
对象
var obj = {
name: '',
function = function(){}
}
//类 就是具有相同属性和方法的对象集合
function Person(name) {
this.name = name
this.eat = function() {} //一般方法不写在这里
//因为每次实例化一个对象
//等于新new Function一个函数
}
定义一个类 属性写在构造函数中 方法写在原型上
因为:构造函数为私有变量和函数 会重新声明 要是我们需要公共函数(执行相同效果的函数)
原型上的变量和函数 为共有 且不能传参制作私有变量。引用类型变化会显示在所有实例
对象是属于存在堆内存中
堆内存 栈内存
基本数据类型存在栈内存
引用数据类型存在堆内存
//所以引用类型的变量 声明的时候 其实是指向堆内存中的一个地址
所以传参的时候,引用类型的任何一个地方的改变会影响全局
继承
js数据类型 判断的更多相关文章
- JS数据类型判断的几种方法
JS数据类型判断 JavaScript 中常见数据类型有Number.String.Boolean.Object.Array.Json.Function.Date.RegExp.Error.undef ...
- js数据类型判断和数组判断
这么基础的东西实在不应该再记录了,不过嘛,温故知新~就先从数据类型开始吧 js六大数据类型:number.string.object.Boolean.null.undefined string: 由单 ...
- JS数据类型判断的方法
最常用的判断方法:typeof var a='isString'; var b=121221; var c=[1,2,3]; var d=new Date(); var e=function(){ c ...
- js 数据类型判断
判断type类型 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } ...
- js数据类型判断
在一般情况下使用typeof 但是有时候typeof返回的结果都是object,比如数组和json对象的时候,这个时候需要用到 instanceof了 还有一个更好得办法,Object.prototy ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- 正确判断js数据类型 总结记录
正确判断js数据类型 总结记录 判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. 三方库. js六大数据类型 number: 数 ...
- 判断数组的方法/判断JS数据类型的四种方法
参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...
- js中判断数据类型的四种方法总结
js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...
随机推荐
- 使用mysql服务实现负载均衡
mysql 长连接(tcp协议)模拟负载均衡 1.存在member,member的port与mysql服务port一致为3306 2.vip绑定浮动ip 3.开启mysql服务: #service m ...
- JQuery - $(this) 加 siblings() 的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- requests---requests封装请求类型
我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把requests的请求类型都封装起来,这样编写用例的时候可以直接进行请求 requests方法封装 我们通常用的最 ...
- 【快学springboot】5.全局异常捕获,异常流处理业务逻辑
前言 上一篇文章说到,参数校验,往往需要和全局的异常拦截器来配套使用,使得返回的数据结构永远是保持一致的.参数异常springboot默认的返回结构: { "timestamp": ...
- cmd如何进入和退出Python编程环境?
cmd里面进入python编译环境的方式: 安装Python之后需直接运行: python 即可进入Python开发环境 退出Python编译环境主要有三种方式: 1:输入exit(),回车 2:输入 ...
- netsh命令获取wifi历史连接密码
首先[win+r]快捷键打开运行,输入cmd.或点击左下角win-运行-cmd 1.netsh wlan show profiles //列出所有的ap名称 2.netsh wlan show pro ...
- java并发初探ReentrantWriteReadLock
java并发初探ReentrantWriteReadLock ReenWriteReadLock类的优秀博客 ReentrantReadWriteLock读写锁详解 Java多线程系列--" ...
- 二、Navicat、IDEA、nopad、eclipse、excle工具使用、问题、快捷键
1.Navicat工具: 目的:本地数据库与远程数据库之间数据导入导出 步骤1:文件--新建oracle链接/mysql的连接 步骤2:工具-选项:将本地oracle的bin\oci.dll 的路径复 ...
- Nginx 的优势
Nginx 的优势 在 Java 开发中,Nginx 有着非常广泛的使用,随便举几点: 使用 Nginx 做静态资源服务器:Java 中的资源可以分为动态和静态,动态需要经过 Tomcat 解析之后, ...
- 6、mysql事务
1.mysql事务 —mysql中,事务其实是一个最小的不可分割的工作单元.事务能够保证一个业务的完整性,例如:银行存款: a - > -100 >update user set ...