js 中的类型比较

console.log(typeof 1)            // number
console.log(typeof ‘cc‘)        // string
console.log(typeof true)        // boolean
console.log(typeof undefined)     // undefined
console.log(typeof null)        // object
console.log(typeof NULL)         // undefined  NULL | Null 都不对
console.log(typeof {})            // object
console.log(typeof [])            // object
console.log(typeof function(){})  // function 这个有点意料之外,本以为也是 objectconsole.log(typeof Symbol())     // symbol
// 结论:// 基于多键值进行排序的时候或许可以用一下
// boolean < function < number < object(null) < string < symbol < undefined

// 以下:皆 true
console.log(typeof true < typeof function(){} ? true : false);
console.log(typeof function(){} < typeof 1 ? true : false);
console.log(typeof 1 < typeof {name:‘cc‘} ? true : false);
console.log(typeof {name:‘cc‘} === typeof null ? true : false);
console.log(typeof {name:‘cc‘} < typeof ‘cc‘ ? true : false); console.log(typeof ‘cc‘ < typeof Symbol() ? true : false);
console.log(typeof Symbol() < typeof undefined ? true : false);
  • typeof 返回值是小写
  • null 小写,NULL Null 这些写法不对
  • 函数 typeof 返回值是 function。疑惑脸:什么时候 function 是一个类型了?
  • 这样说吧: typeof  是一个运算符,返回结果并不等同于 js 基本类型 (null 不等, function 看来也是)
  • js 中基本类型:

    boolean
    number
    object (Object | Function | Array | RegExp | Date | ..)
    null
    string
    undefined
    symbol (ES6 新增)
  • typeof 的返回值:

    boolean  
    numberstring
    object (object | array | null)function
    undefined
    symbol  
时间: 2024-11-18 00:01:00

js 中的类型比较的相关文章

JS中的类型检测

JS中用于类型检测的函数有typeof.instanceof .Object.prototype.toString.constrcutor.duck type typeof用于检测基本类型和函数 有些特殊情况 null.数组.Date数据类型用typeof判断返回的是object instanceof用来判断对象类型,基于原型链,可以用来判断数组和Date数据类型

推断js中的类型:typeof / instanceof / constructor / prototype

怎样推断js中的类型呢,先举几个样例: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = new Date(); var f = function(){ alert('jason'); }; 一.最常见的推断方法:typeof typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果,另外typeof能够推断function的类型:在推断除Object类型的对象时

JS中基本类型与包装类型的关系

对于JS中一些类型的转化的东西,自己测试并得出的结论,有错误的地方请大大们留言. 不多废话,直接贴代码,测试请直接拷贝全部代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>E

js中的类型和函数参数传递类型问题

js中的类型: 2大类型:原始类型和对象. 原始类型有 boolean.number.string这三个普通原始类型,还有null.undefined这俩特殊原始类型 对象嘛就多了,普通对象.内置对象.全局对象.函数.数组等. 函数参数传递类型: 对于原始类型,传递的是值,即复制一份传入函数,在函数内部修改不影响外部变量本身. 对于对象类型,传递的是地址,在函数内部修改对象时会导致外部变量发生变化. 注意这种情况!参考如下代码: var oMyObj = {name:"罗伯特"}; f

判断js中的类型:typeof / instanceof / constructor / prototype

如何判断js中的类型呢,先举几个例子: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = new Date(); var f = function(){ alert('jason'); }; 一.最常见的判断方法:typeof typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果,另外typeof可以判断function的类型:在判断除Object类型的对象时

js中boolean类型的理解

<html> <head> <script type="text/javascript"> var x="12"; alert(x+234); alert(typeof (x+234)); var flag=false; //true=1 false=0; alert(flag+34); </script> </head> <body> String str="ere"; i

js中基本类型的值和引用类型的值的比较

1.动态属性方面的比较 1)基本类型的值是不能添加属性的,即使不会产生任何错误: 2)引用类型的值可以动态的添加属性,以便后面的使用: 1 var cat='cat'; 2 cat.name='Tom'; 3 console.log(cat.name);//undefined 4 5 6 var mouse={}; 7 mouse.name='Jerry'; 8 console.log(mouse.name);//Jerry 2.变量值复制方面的比较 1)基本类型复制的是原始值,不同变量之间不会

js中浏览器类型判断

在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法:1.判断浏览器是否为IE        document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0:        nav

js中数字类型数组排序

<script type="text/javascript"> function compare(num1, num2) { return num1 - num2; } function sortData(){ var nums = [3, 1, 2, 100, 4, 200] ; nums.sort(compare); alert(nums); } </script> JS中sort() 方法是按照字典顺序对元素进行排序的, 因此它假定元素都是字符串类型,即使