JavaScript 学习笔记— —类型判断
//1 判断是否为数组类型var a=[0];console.log(isArray(a));function isArray(obj){return (typeof obj=='object') && obj.constructor==Array;}console.log("2-----------------------------------")//2 判断是否为字符串类型console.log(isString('test'));console.log(isString(10));function isString(str){return (typeof str=='string')&&str.constructor==String;}console.log("3-----------------------------------")//3 判断是否为数值类型console.log(isNumber('test'));console.log(isNumber(10));function isNumber(obj){return (typeof obj=='number')&&obj.constructor==Number;}console.log("4-----------------------------------")//4 判断是否为日期类型console.log(isDate(new Date()));console.log(isDate(10));function isDate(obj){return (typeof obj=='object')&&obj.constructor==Date;}console.log("5-----------------------------------")//5 判断是否为函数console.log(isFunction(function test(){}));console.log(isFunction(10));function isFunction(obj){return (typeof obj=='function')&&obj.constructor==Function;}console.log("6-----------------------------------")//6 判断是否为对象console.log(isObject(new Object()));console.log(isObject(10));function isObject(obj){return (typeof obj=='object')&&obj.constructor==Object;}/** null 数组 日期 对象返回的是object类型*/
// js数据类型: number string boolean undefined object和函数类型 function console.log(typeof null)//objectconsole.log(typeof Function)//function Function是包装类型console.log(typeof undefined)//undefinedvar message;console.log(message)//undefined 定义了没有赋值console.log(typeof message)//undefined 类型console.log(null == undefined)//true/** true==1;fase==0;* */console.log(true == 1)//trueconsole.log(false == 0)//trueconsole.log(false ==2)//falsevar str="";console.log(str==0);//true;空字符串将会把值转换为0console.log(typeof str)//string var str2=new String('A'); console.log(str2) //String { 0="A"}
原型扩展方法
Object.prototype.toString.call
var gettype=Object.prototype.toStringgettype.call('aaaa') //[object String]gettype.call(2222) //[object Number]gettype.call(true) //[object Boolean]gettype.call(undefined) //[object Undefined]gettype.call(null) //[object Null]gettype.call({}) //[object Object]gettype.call([]) //[object Array]gettype.call(function(){}) //[object Function]
/* 其实js 里面还有好多类型判断[object HTMLDivElement] div 对象 ,[object HTMLBodyElement] body 对象,[object Document](IE)或者 [object HTMLDocument](firefox,google) ......各种dom节点的判断,这些东西在我们写插件的时候都会用到。*/var gettype=Object.prototype.toStringvar utility={isObj:function(o){return gettype.call(o)=="[object Object]";},isArray:function(o){return gettype.call(o)=="[object Array]";},isNULL:function(o){return gettype.call(o)=="[object Null]";},isDocument:function(){return gettype.call(o)=="[object Document]"|| [object HTMLDocument];}//...}
转载于:https://www.cnblogs.com/eaysun/p/4385803.html
JavaScript 学习笔记— —类型判断相关推荐
- JavaScript学习笔记:类型检测
JavaScript学习笔记:类型检测 1.利用typeof检测数据类型 注意:type of null,返回的不是"null",而是"object".type ...
- JavaScript学习笔记(备忘录)
JavaScript学习笔记(备忘录) ===运算符 判断数值和类型是否相等.如: console.log('s'==='s') //输出trueconsole.log('1'===1) //输出fa ...
- JavaScript 学习笔记(1)
1. 何为 Jscript JScript 是一种解释型的.基于对象的脚本语言. 局限性: 1) 不能使用该语言来编写独立运行的应用程序 2) 没有对读写文件的内置 ...
- JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- JavaScript --- [学习笔记] 原型模式
说明 接JavaScript - > [学习笔记]观察者模式 & 理解对象 & 工厂模式 & 构造函数模式 上一篇构造函数模式创建的实例,不同实例的同一个方法是不相等的, ...
- JavaScript学习笔记(三)--操作运算符
JavaScript中的运算符有很多,主要分为算术运算符,比较运算符,逻辑运算符,三目运算符.一元运算符.位运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的 ...
- JavaScript学习笔记(三)---事件、正则表达式、ES6、运动
JavaScript学习笔记(三)---事件.正则表达式.ES6.运动 27.insertbefore 28.滚动条及事件 29.事件及事件对象 30.鼠标事件对象的属性 31.案例:图片随鼠标移动 ...
- JavaScript 学习笔记(第三天)
JavaScript 学习笔记(第三天) 一.数组 1.1.数组的基础 1.2.数据类型分类 1.3.创建数组 1.3.1.字面量创建一个数组 1.3.2.内置构造函数创建数组 1.4.数组的基本操作 ...
- JavaScript 学习笔记(二)
JavaScript 学习笔记(二) 文章目录 JavaScript 学习笔记(二) 一 JSON 1. JSON 对象 什么是JSON对象 JSON对象与Javascript对象的区别 在JavaS ...
最新文章
- Design Pattern Quick Overview
- TextView显示颜色高亮的问题
- jsp接收 input文本输入框中,无法正确显示单引号和双引号的问题
- 设计模式之四(抽象工厂模式第二回合)
- C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法(附IP库下载地址及相关dll下载)...
- python语言的主网址-python官方网站
- 效率 用div做表格和tr_头一次见用电钻做电线接线,效率高出十倍,用几十年都不漏电...
- 2018上IEC计算机高级语言(C)作业 第1次作业 。
- linux系统notebook,RedNotebook——Linux环境桌面日记本
- 个人永久性免费-Excel催化剂功能第44波-可见区域复制粘贴不覆盖隐藏内容
- oracle生成流水号序列,Oracle序列生成订单流水号
- Android app内部启动qq/跳转到QQ添加好友
- IDEA设置默认浏览器为chrome
- 超声波传感器(CHx01) 学习笔记 Ⅲ - I2C读写操作
- 做社交电商,你还没有用小程序?
- SLIC——代码、改进
- 计算机专业要不要考研
- MATLAB界面打开只有左上角一个叉号x号
- 如何看计算机网络中的“节点”和“结点”
- 异常处理:el表达式数据类型转换异常 Cannot convert B36 of type class java.lang.String to class java.lang.Long