最赞回答 / sixGod
我觉得在js中直接写[],就是定义一个数组了,二个数组比较,比的是内存地址吧,前一个[]开僻一个内存空间,后一个[]是开僻的另一个内存空间,所以这二个对象是不一样的,所以是false
2015-09-07
最赞回答 / HZFEStudio
取反是优先级非常高的运算符。当浏览器扫描到"!"后,会去运算之后的语句,从而达到函数自执行的效果,等同于:(function(){console.log(1);}());这样的自执行函数写法。而函数是一定有返回值的,只是没有去获取他。若函数里没有写return,就会默认返回一个值:undefined,获取undefined,那么!function(){'use strict';var obj = {x:1,x:2};}(); 就是 !undefined 了,也就是true。
2015-08-29
最新回答 / uhelper_net
笔记时,不同数据类型会做相关转换,true转换为1,false转换为0.具体的可以买本<<JavaScript高级程序设计第三版>>或<<JavaScript权威指南第六版>>看一下.里面讲解很详细.
2015-08-24
最赞回答 / 用户1099417
在此页 按F12,在console输入“+!{}”、“+”、“+!”结果都是0;“+!{}[true]”、“+!{}[1]”、“+[1]”、“+!{}[false]”结果都是1."!{}"是false,“!{}[true]”是true,“+!{}[true]”相当于“+true”结果是1
2015-08-23
最赞回答 / 采药超人
额。。。你这个叫没读懂题第三个条件的意思是,确定哪些类型要区别主要是针对函数,日期, window来说的,因为这三个都是Object,需要进一步细分(第二行有错别字,更正了)
2015-08-15