语言这个东西真是太灵活了,尤其是使用各种框架的时候,有些bug或许不能称之为bug,真的只能称之为操作失误,在快餐框架面前,很难通过掌握原理/源码去解释or理解,只能通过操作手册了外加意淫一下原理了,比如下面几个例子(java/javascript)
1.如图,求a和document.getElementById("a")的值
其实吧,新手容易答对,很简单的引用关系嘛...但是用多了就会认为,dom节点已经被删除,且在浏览器中也不存在,a因该为undefined...
引用只是指向,对象只能被垃圾回收器回收,对象存在后,就无法人工的被干掉,所以设计中也会专门的设计出null对象(原因之一),而且面向对象首先面向get/set,或许这都是懒得解释,这么用,就对了
2.如第一个例子图中的a.remove(),其实这东西放在ie里面是用不了的,标准的api设计的跟引用一样,你无法删除你自己,反正他们设计出来,自己理解吧
3.说到规范,就让人想到jquery,在jq1.0逗逼,jq1.1反人类的情况下为什么还会出类拔萃?因为他提供的是接口操作,亲,$().val="" 这种属性赋值的方式是不存在的,你要真去问,最多告诉你操作错误
其实,jquery还好,可以选择做个安静的工具类,并不会有太多非议,可在使用其他组建的时候,出现诸如在初始化代码中,写入组件结束的方法...不知道哪位作者能解决这种超高难度的问题....给的答案好像都是操作错误