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

Title
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.prototype
Aid.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;
//Skipthebooleanandthetarget
target=arguments[i]||{};
i++;
}
//判断目标参数的类型,若目标参数既不是object类型,也不是function类型,则为目标参数重新赋值
if(typeoftarget!=='object'&&!Aid.isFunction(target)){
target={};
}
}
当年话下
浏览 755回答 2
2回答

函数式编程

Aid.fn.extend报错,Aid.fn=Aid.prototype,但是Aid不是函数呀,Aid.prototype是undefined。再Aid.fn=Aid.prototype的后面console.log(Aid)看一下

肥皂起泡泡

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};}//();这里的立即执行应该去掉吧,这样应该可以
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript