Titlefunctionabc(){console.log('我是小abc')}varobject1={apple:0,banana:{weight:52,price:100},cherry:97};varobject2={banana:{price:200},durian:100};varobject=Aid.extend({},object1,object2);varAid=function(){varisFunctionCharacter=function(obj){try{if(typeofobj==="function"){//是函数其中FunName为函数名称console.log("isfunction");}else{//不是函数console.log("notisfunction");}}catch(e){}}return{isFunction:isFunctionCharacter};}();Aid.fn=Aid.prototypeAid.extend=Aid.fn.extend=function(){varoptions,name,src,copy,copyIsArray,clone,target=arguments[0]||{},//默认第0个参数为目标参数i=1,//i表示从第几个参数凯斯想目标参数进行合并,默认从第1个参数开始向第0个参数进行合并length=arguments.length,deep=false;//默认为浅度拷贝//判断第0个参数的类型,若第0个参数是boolean类型,则获取其为true还是false//同时将第1个参数作为目标参数,i从当前目标参数的下一个//处理深度拷贝情况if(typeoftarget==='boolean'){deep=target;//Skipthebooleanandthetargettarget=arguments[i]||{};i++;}//判断目标参数的类型,若目标参数既不是object类型,也不是function类型,则为目标参数重新赋值if(typeoftarget!=='object'&&!Aid.isFunction(target)){target={};}}
2 回答
函数式编程
TA贡献1807条经验 获得超9个赞
Aid.fn.extend报错,Aid.fn=Aid.prototype,但是Aid不是函数呀,Aid.prototype是undefined。再Aid.fn=Aid.prototype的后面console.log(Aid)看一下
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
Aid是一个object,返回{isFunction:isFunctionCharacter},他又不是一个构造函数,你怎么在他的原型里添加方法?Aid是模仿jquery做的一个方法吧?那么varAid=function(){varisFunctionCharacter=function(obj){try{if(typeofobj==="function"){//是函数其中FunName为函数名称console.log("isfunction");}else{//不是函数console.log("notisfunction");}}catch(e){}}return{isFunction:isFunctionCharacter};}//();这里的立即执行应该去掉吧,这样应该可以
添加回答
举报
0/150
提交
取消