Java中的数组其实也是一个对象,但是确实是一个特殊的对象,实在是太特殊了,继承自Object, 多出一个属性length,改写了clone方法. 我debug了数组对象的运行时的Class对象,只有一个name属性,用[L开头,其他属性全是null. 调用getDeclaredFields,getDeclaredMethods都没有数据.这就奇怪了,明明可以用的length属性在哪的呢 stackoverflow上有简单的解释: Arrays are special objects i…
每个函数都有一个 length属性 (函数名.length), 表示期望接收的函数的个数(而不是实际接收的参数个数) 它与arguments不同. arguments.length 是表示函数实际接收的参数个数. 试想一下 利用这个功能 可以不可以实现根据函数参数个数的重载呢.如何解决正常情况下如果定义重名函数则会把前面的覆盖的问题? function addMethod(object, name, fn){ // Save a reference to the old method var o…