为了账号安全,请及时绑定邮箱和手机立即绑定

引入一个js文件报错TypeError: Cannot set property 'extend' of undefined

引入一个js文件报错TypeError: Cannot set property 'extend' of undefined

当年话下 2019-05-24 10:32:11
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)看一下
                            
查看完整回答
反对 回复 2019-05-24
?
肥皂起泡泡

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};
}
//();
这里的立即执行应该去掉吧,这样应该可以
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 754 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信