已采纳回答 / 等待Mr薰衣草
! function (){}(1) 表示该函数是一个函数表达式而不是函数声明,后面的(1)是将参数1传递进去,前面的!,你可以理解成它是将函数声明转化成函数表达式的一种方法。!function (){}(1)也等同于(function (){})(1);,!也可换成+、-这样的一元运算符,都可以起到相同的作用。函数也是一种对象,arguments是它的一个属性,函数的属性还包括name,length等等。
2016-04-18
最赞回答 / AsyncNooby
<script>"其实是这样子的,cat.[[proto]]==>Object.prototype Object.prototypr.[[proto]]==>null";</script>
2016-04-17
最赞回答 / Unhesitant、
finally语句的设定就是无论有无异常都会执行,这在某些场合很有用,例如关闭文件,释放资源。catch在有异常的时候捕获try语句抛出异常,如果当时能处理就处理,不能处理就输出或者提示异常信息。
2016-04-16
已采纳回答 / lann
抱歉,后半句不太准确。个人理解,关键在于对countMap[]的判断那部分的理解。首先,数组的‘索引’不仅是数字,也可以是字符串,因为数组本身也是对象,‘索引’是字符串时就是对象的属性了。<...code...>其次关于typeOf 的返回值。我对答案示例的理解是,一定会返回一个字符串,结合上面的小例子。countMap{ objtype : value , }可以参考下阮一峰老师讲的 数组
2016-04-15