-
+会进行字符串拼接,-会进行计算。
num转化为数字只需要-0
num转化为字符串只需要+‘’(空字符串)
等于(==)的时候会先尝试把字符串转化为数字
严格等于(===):类型不同,返回false
num和undefined想要严格相等必须都是num和undefined,
波尔值要严格相等必须都是true或false
NaN≠NaN 和谁比都不相等包括自己
object(对象)的比较是用引用去比较【1,2】==【1,2】
非严格等于:类型不同会先尝试转化
null==undefined 相等
number==string转number 1==‘’1.0‘’//true
波尔值的比较会先转化为数字
object(对象)==number|string 会先尝试把对象转化为基本类型
其他:false
查看全部 -
JS一共有六种数据类型,五种原始类型一种对象类型
查看全部 -
typeof、object.prototype.toString、instanceof的特点
查看全部 -
instanceof希望左操作数是一个对象,如果不是对象比如基本类型就会直接返回false;它希望右操作数是一个函数对象或者函数构造器,如果不是的话就会抛出一个type error异常。instanceof的操作原理就是判断左边的操作数的原型链上是否有右边这个构造函数的prototype属性
查看全部 -
类型检测的几种方式
查看全部 -
null是个特例,返回object
查看全部 -
当把一个基本类型尝试以对象的方式访问它的时候,比如使用length属性或者新加属性,JavaScript会创建一个包装类型对象,其值与原来的值一样。在访问完成后,比如使用了length属性或者设置了a.t,这个临时变量就会被销毁,所以再输出a.t结果是undefined。
查看全部 -
非严格比较:
null=undefined;
一边是number一边是string,把字符串转换为数字再进行比较;
boolean值与数字比较,先把boolean值转换成数字,true转换为1,false转换为0;
object和number或string比较,把object换为基本类型再比较。
查看全部 -
严格相等用三个等号进行比较,
null===null,undefined===undefined,
NaN≠NaN(not number,它属于数字的一个值,它和任何东西比较都不相等,包括和它自己比较)
对象比较是引用比较而不是用值比较,所以只有var a,才能有a=a.
查看全部 -
六种数据类型:number、string、boolean、null、undefined(五种原始类型)+object(一种对象类型),函数Function、数组Array、日期Date等都属于对象类型。
查看全部 -
创建对象 var obj ={}
var f = new Foo();
Object.create({x:1});
查看全部 -
函数默认有prototype对象
new一个函数对象,对象的proto指向函数的prototype
函数的prototype指向Object.prototype
查看全部 -
1.对象属性是无序的键值对,属性有多重标签,标记可写,可枚举等,有一个prototype属性
查看全部 -
类型判断总结
查看全部
举报