【前端学习笔记01】JavaScript源生判断数据类型的方法

原始类型(值类型):Undefined、Null、Number、String、Boolean;

对象类型(引用类型):Object;

typeof 

可以识别标准类型,null外(返回Object);不能识别具体对象类型(Function除外)。

用法举例:

var num = 100;
typeof num;  // 或 typeof(num) --> number 

注:除number 、string、boolean、undefined、function类型外,其余类型都判断为object(包括null)。

instanceof 

可以判别内置对象类型、自定义对象类型;不能判别原始类型。

var arr = [];
arr instanceof Array; -->true

Object.prototype.toString.call()

可以识别标准类型、内置对象类型;不能识别自定义对象类型。

Object.prototype.toString.call(123); // --> [object Number]

constructor 

可以判别内置对象类型、自定义对象类型、标准类型(但Underfined/Null不能识别)。

var num = 100;
num.constructor === Number; // --> true;

返回构造器写法:

function getConstructorName(obj){
    return (obj===undefined||obj===null)?obj:(obj.constructor&&obj.constructor.toString().match(/function\s*([^(]*)/)[1]);
} // match()把返回的 function Number() { [native code] } 中的Number拿到。
时间: 2024-10-11 21:55:39

【前端学习笔记01】JavaScript源生判断数据类型的方法的相关文章

web前端学习笔记:JavaScript数组

今天主要给大家介绍javascript中数组的操作方法及函数的介绍,数组在其中的主要作用是使用单独的变量名来存储一系列的值.下面通过一些简单的javascript实例为大家讲解数组,具体的javascript教程如下: 字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单引号(') ,\" 双号(") \xnn 以十六进制代码nn 表示的一

JavaScript学习笔记(5)——JavaScript语法之数据类型

JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: var x // x 为 undefined var x = 6; // x 为数字 var x = "Bill"; // x 为字符串 1.字符串:字符串可以是引号中的任意文本.可以使用单引号或双引号. 2.数字:JavaScript 只有一种数字类型.数字可以带小数点,也可以不带.极大或极小的数字可以通过科学(指数)计数法来书写: var y=123e5; // 12300000 var z=123e-5;

【python学习笔记01】python的数据类型

python的基本数据类型 整型 int 浮点型 float 真值 bool 字符串 str 列表 list       #[1,2,3] 元组 tuple    #(1,2,3) 字典 dict      #{1:2} 集合 set       #set{['a','c','b']} 集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键 字符串操作方法 1.大小写变换 >>>a = "HEllo" >>>a.lower() #小写 'hell

【前端学习笔记】JavaScript 常用方法兼容性封装

获取样式函数封装 function getStyle(ele,attr){ if(ele.currentStyle){ return ele.currentStyle[attr]; } else{ return window.getComputedStyle(ele,null)[attr]; } }; getClass()封装 function getClass(element, names){ //如果存在getElementsByClassName()方法,则直接获取元素. if(docum

【前端学习笔记】Javascript中的正则表达式

复习字符串操作-------------------------– indexOf 查找字符 返回位置 charAt 查找位置 返回字符 substring 获取字符窜 split 分割字符串 正则表达式的概念和写法----------------- 正则 :也叫做规则,让计算机能够读懂人类的规则 正则都是操作字符串的. 正则的写法: var re = /a/; 和数组字符串区分开来 var re = newRegExp('a'); [正则默认] : 1.正则中是区分大小写的 不区分大小写在正则

【前端学习笔记】JavaScript JSON对象相关操作

//JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.parse(json); //--> {name: "zj", age: 23} // IE6/7不兼容的写法 if(!window.JSON){ window.JSON = { parse:function(json){ return eval('(' + json + ')'); }

【前端学习笔记】JavaScript 小案例合集

获取一个0-9的随机数: Math.round(Math.random()*9); 去除数组中重复的元素: var arr=[1,3,5,4,3,3,1,4] function editArr(arr) { var result=[]; for(var i=0; i<arr.length; i++){ if(result.indexOf(arr[i]) == -1){ result.push(arr[i]); } } console.log(result); } editArr(arr); +函

【前端学习笔记】call、apply、bind方法

1.call()方法: // move函数实现移动平面图上一个点位置功能 var move = function(x,y){ this.x += x; this.y += y; } // 定一个点p var p = {x:1, y:1}; // 调用call 方法,此时p点直接会移动. move.call(p,1,2); console.log(p); // --> {x:2,y:3} 2.apply()方法: // move函数实现移动平面图上一个点位置功能 var move = functi

【zepto学习笔记01】核心方法$()(补)

前言 在很久之前,我们项目有一个动画功能,功能本身很简单,便是典型的右进左出,并且带动画功能 以当时来说,虽然很简单,但是受限于框架本身的难度,就直接使用了CSS3的方式完成了功能 当时主要使用transform与animation实现功能,并且用了一个settimeout执行回调,然后此事便不了了之了 但是出来混总是要还的,这不,最近相似的东西又提了出来,我们当然可以将原来的那套东西拿来用,但是看着那个settimeout总是不是滋味,因为这样捕捉回调的效果以及可能引起的BUG大家都懂,于是就