最赞回答 / 慕尼黑3821393
我是这样理解的,比如说你第一次使用aquery('#first-div'),因为if判断不是aquery就使用new实例化一个对象,当你第二次调用aquery('#first-div')时,为了减少内存资源以及cpu的浪费,这里就不再实例化了,即不再创建新的对象了。
2015-10-08
已采纳回答 / qq_最初的梦想_6
javascript不存在相等的两个对象,比如[]===[],{}==={}均为false,而函数的比较最为复杂,楼主写的两个自执行函数均无返回值,浏览器便取默认值(不是undefined就是null了,实际上undefined==null)去比较,自然相等;
2015-09-25
最新回答 / qq_一直很安静_8
(function(){}())是立即执行里面的函数,具有隔绝外界变量的功能,避免变量污染,function(){}()是一个匿名函数,因为匿名函数不能被调用,就会报错
2015-09-25
最新回答 / xhuanhero
可以通过函数对象的call、apply方法借用数组的slice、splice方法将类数组对象转换为数组例如在函数内部 Array.prototype.slice.call(arguments) 就可以把 arguments 对象转换成数组,然后就可以调用数组的所有方法了以上纯属猜测,但是源码是怎么写的还真不知道
2015-09-19
最新回答 / qq_一直很安静_8
因为函数里才会有局部作用域,全局属性undefined表示原始值undefined。它是一个JavaScript的 原始数据类型 ,在非全局作用域中undefined被当作标识符(变量名)来使用(因为undefined不是一个保留字),第一种alert(undefined)中的undefined只是原始值undefined,而不是变量undefined
2015-09-14
最赞回答 / qq_秋风戏雨_0
不知道这老师为什么要扯undefined。。。 本来很简单的自运行匿名函数,非要扯那么麻烦让其它人看不懂,不就是一个自运行函数,(function(a,b){b(a)})(window,jQuery函数体).把Juery函数定义写在了自运行的传参数位置而已,代码相当于是读取完后自运行了function(window,jquery){jQuery(window)}这个函数,传入的window多了一个判断
2015-08-28