JavaScript语法错误

JavaScript语法错误,javascript,syntax,syntax-error,Javascript,Syntax,Syntax Error,我在第13行遇到语法错误。。。 第13行: "c001": {type:"tool", id: "webconference", name:"Web Conference Tool"}, // web conference 你能帮我修一下吗?:)谢谢 //假设jquery存在 /*注: 很多函数需要返回jQuery或jQuery.ib,如果是jQuery.ib,则需要返回jQuery的.stop()函数 */ (功能(){ extend({ibSetup:function()){ 工具图:{

我在第13行遇到语法错误。。。 第13行:

"c001": {type:"tool", id: "webconference", name:"Web Conference Tool"}, // web conference
你能帮我修一下吗?:)谢谢

//假设jquery存在
/*注:
很多函数需要返回jQuery或jQuery.ib,如果是jQuery.ib,则需要返回jQuery的.stop()函数
*/
(功能(){
extend({ibSetup:function()){
工具图:{
“c001”:{类型:“工具”,id:“网络会议”,名称:“网络会议工具”},//网络会议
“c002”:{type:“alias”,“main:“c001”},//每年一次的web会议
“c024”:{type:“tool”,id:“webconference包”,name:“Web会议工具”},//Web会议工具包版本
“c0something”:{type:“tool”,id:“webconference premium”,name:“premium Web conference tool”},//premium wc
“c053”:{type:“alias”,“main:“c024”},//签名青铜(wc工具)
“c075”:{类型:“别名”,“主要”:“c024”},//签名青铜(wc工具)季刊
“c054”:{类型:“别名”,“主要”:“c024”},//签名青铜(wc工具)每年
“c004”:{type:“tool”,id:“template”,name:“template tool”},//template tool
“c008”:{类型:“别名”,“主”:“c004”},//模板工具
//检查这些物品的数量;
“c018”:{类型:“工具”,id:“模板额外用户”,数量:1,名称:“模板工具额外用户”},//模板工具第一个额外用户-$12.47
“c019”:{类型:“工具”,id:“模板额外用户”,数量:“检查”,名称:“模板工具额外用户”,“扩展”:“c018”},//模板工具额外用户-$10.00
“c020”:{type:“tool”,id:“businessresponder”,name:“businessresponder tool”},//businessresponder tool
“c021”:{type:“alias”,“main:“c020”},//业务响应工具
“c005:{type:“tool”,id:“volumemarketing”,name:“volumemarketing tool”},//volumemarketing tool
//套餐:
“c025”:{键入:“包”,工具:[“c024”、“c004”、“c020”],名称:“USABG Starter package”},//USABG Starter package:猜测工具
“c077”:{类型:“包”,工具:[“c004”、“c020”、“c005”],名称:“终极模板包”},//终极模板:ett,br,营销
“c027”:{类型:“包”,工具:[“c024”、“c004”、“c020”],名称:“基本银包”},//银包:wc、ett、br
“c075”:{type:“alias”,“main:“c027”},//sp季刊
“c076”:{type:“alias”,“main:“c027”},//sp每半年一次
“c028”:{type:“alias”,“main:“c027”},//sp yearly,
“c050”:{type:“alias”,“main:“c027”},//sig sp,
“c051”:{类型:“别名”,“主要”:“c027”},//sig sp每半年一次,
“c080”:{type:“alias”,“main:“c027”},//sig sp季刊,
“c052”:{type:“alias”,“main:“c027”},//sig sp yearly;
“c023:{type:“package”,tools:[“c024”,“c004”,“c020”],name:“Vital Gold package”},//Gold package:silver+subsite(这个脚本还不用于网站..)
“c073”:{type:“alias”,“main:“c023”},//gp季刊
“c074”:{type:“alias”,“main:“c023”},//gp每半年一次
“c030”:{type:“alias”,“main:“c023”},//gp
“c031”:{type:“alias”,“main:“c023”},//sig gp
“c081”:{类型:“别名”,“主”:“c023”},//sig gp季刊
“c039”:{类型:“别名”,“主要”:“c023”},//sig gp每半年一次
“c032”:{type:“alias”,“main:“c023”},//sig gp
“c022”:{类型:“套餐”,工具:[“c024”、“c004”、“c020”、“c005”],名称:“全白金套餐”},//白金套餐:银+网站+批量营销工具
“c071”:{type:“alias”,“main:“c022”},//pp季刊
“c072”:{type:“alias”,“main:“c022”},//pp每半年一次
“c029”:{type:“alias”,“main:“c022”},//pp
“c***:{类型:“手动”,名称:}//其他工具模板
},
工具:[],
曲奇饼:{
“敬礼”:“,
“fname”:“fname”,
“lname”:“,
“电子邮件”:“,
“密码”:“,
“名称”:“名称”,
“公司”:“,
“地址”:“地址”,
“address2”:“”//可能不存在!
“城市”:“,
“国家”:“,
“zip”:“,
“电话”:“,
“免通行费”:“,
“单元格”:“,
“传真”:“传真”,
“网站”:“,
“国家”:“,
“dob”:“,
“配偶”:“,
“喷动物”:“,
“repnum”:“”//否则称为repid;可能不存在
},
getTool:函数(零件号){
if(typeof toolmap[partno]=“undefined”)返回false;
如果(toolmap[partno].type==“alias”)partno=toolmap[partno].main;
返回工具图[零件号];
},
getToolString:函数(零件号,数量)
{
var str=“”;
var-amp=false;
功能makeStringPiece(零件号){
var工具=getTool(零件号);
如果(!tool)返回false;
如果(工具类型==“包”){
用于(工具中的i.tools){
str+=makeStringPiece(工具工具[i]);
}
}
否则{
this.amp?str+=“&”:this.amp=true;
str+=“tool[]=”+tool.id;/“+this.counter+”
这个.counter++;
如果(刀具数量){
str+=“&”+刀具数量==“检查”?此数量:刀具数量;
//assuming jquery exists

/* notes:
    a lot of the functions need to either return jQuery or jQuery.ib, and if jQuery.ib then I need a .stop() function that returns jQuery 

*/



(function(){
    jQuery.fn.extend({ibSetup: function(){
        toolmap: {
            "c001": {type:"tool", id: "webconference", name:"Web Conference Tool"},             // web conference 
            "c002": {type:"alias", "main": "c001"},         // web conference yearly
            "c024": {type:"tool", id: "webconference-package", name:"Web Conference tool"}, // web conference tool package version 
            "c0something": {type:"tool", id:"webconference-premium", name:"Premium Web conference Tool"}, // premium wc

            "c053": {type:"alias", "main":"c024"},          // signature bronze (wc tool)
            "c075": {type:"alias", "main":"c024"},          // signature bronze (wc tool) quarterly
            "c054": {type:"alias", "main":"c024"},          // signature bronze (wc tool) yearly

            "c004": {type:"tool", id: "template", name:"Template Tool"},                // template tool
            "c008": {type:"alias", "main":"c004"},          // template tool yearly 

            //check quantity on these;
            "c018": {type:"tool", id: "template-extrauser", quantity:1, name:"Template Tool Extra User"},       // template tool 1st extra user - $12.47
            "c019": {type:"tool", id: "template-extrauser", quantity:"check", name:"Template Tool Extra User", "extends":"c018"},   // template tool additional users - $10.00

            "c020": {type:"tool", id: "businessresponder", name:"Business Responder Tool"},             // business responder tool
            "c021": {type:"alias", "main":"c020"},          // business responder tool yearly

            "c005": {type:"tool", id: "volumemarketing", name:"Volume Marketing Tool"},             // volume marketing tool


            //packages:
            "c025": {type:"package", tools:["c024","c004","c020"], name:"USABG Starter Package"},   // USABG Starter Package: GUESSED AT TOOLS

            "c077": {type:"package", tools:["c004","c020","c005"], name:"Ultimate Template Package"},   // ultimate template: ett, br, marketing

            "c027": {type:"package", tools:["c024","c004","c020"], name:"Essential Silver Package"},    // silver package: wc, ett, br
            "c075": {type:"alias", "main":"c027"},              // sp quarterly
            "c076": {type:"alias", "main":"c027"},              // sp semi-annually
            "c028": {type:"alias", "main":"c027"},              // sp yearly, 

            "c050": {type:"alias", "main":"c027"},              // sig sp, 
            "c051": {type:"alias", "main":"c027"},              // sig sp semi-annually, 
            "c080": {type:"alias", "main":"c027"},              // sig sp quarterly, 
            "c052": {type:"alias", "main":"c027"},              // sig sp yearly; 

            "c023": {type:"package", tools:["c024","c004","c020"], name:"Vital Gold Package"},  // gold package: silver + subsite (and this script doesn't do the websites.. yet.)
            "c073": {type:"alias", "main":"c023"},              // gp quarterly
            "c074": {type:"alias", "main":"c023"},              // gp semi-annually
            "c030": {type:"alias", "main":"c023"},              // gp yearly

            "c031": {type:"alias", "main":"c023"},              // sig gp 
            "c081": {type:"alias", "main":"c023"},              // sig gp quarterly
            "c039": {type:"alias", "main":"c023"},              // sig gp semi-annually
            "c032": {type:"alias", "main":"c023"},              // sig gp yearly

            "c022": {type:"package", tools:["c024","c004","c020","c005"], name:"Full Platinum Package"}, // platinum package: silver + website + volume marketing tool
            "c071": {type:"alias", "main":"c022"},              // pp quarterly
            "c072": {type:"alias", "main":"c022"},              // pp semi-annually
            "c029": {type:"alias", "main":"c022"},              // pp yearly

            "c***": {type:"manual", name:""}                // other tool template
        },
        tools: [],
        cookies: {
            "salutation": "",
            "fname": "",
            "lname": "",
            "email": "",
            "password" : "",
            "title": "",
            "company": "", 
            "address": "", 
            "address2": "",         // may not exist!
            "city": "", 
            "state": "", 
            "zip": "", 
            "phone": "", 
            "tollfree": "", 
            "cell": "", 
            "fax": "",  
            "website": "", 
            "country": "", 
            "dob": "", 
            "spouse": "", 
            "spousedob": "", 
            "repnum": "" //otherwise refered to as repid; may not exist
        },
        getTool: function(partno){
            if(typeof toolmap[partno] == "undefined") return false;
            else if(toolmap[partno].type == "alias") partno = toolmap[partno].main;
            return toolmap[partno];
        },
        getToolString: function(partno,qty) 
        {
            var str = "";
            var amp = false;
            function makeStringPiece(partno){
                var tool=getTool(partno);
                if(!tool) return false;
                if(tool.type=="package") {
                    for(i in tool.tools){
                        str += makeStringPiece(tool.tools[i]);
                    }
                }
                else{
                    this.amp ? str += "&" : this.amp = true;
                    str += "tool[]="+tool.id; //"+this.counter+"
                    this.counter++;
                    if(tool.quantity) { 
                        str += "&" + tool.quantity=="check" ? this.qty : tool.qty;
                    }
                }
            };
            makeString(partno);
            return str;
        },

        //filter and foreach from http://eloquentjavascript.net/
        filter: function (array, test) {
            var result = [];
            forEach(array, function (element) {
            if (test(element))
                result.push(element);
            });
            return result;
        },
        forEach: function(array, action) {
          for (var i = 0; i < array.length; i++)
            action(array[i]);
        },

        readTools: function(){
            for(partno in toolmap){ //I might need to change this to use .each()
                var t = readCookie(partno)
                if(t) tools.push(t);
            };
        },
        readUser: function(){
            for(name in cookies){
                cookies[name] = readCookie(name);
            }
        },

        createCookie: function(name,value,days) {
            if (days) {
                var date = new Date();
                date.setTime(date.getTime()+(days*24*60*60*1000));
                var expires = "; expires="+date.toGMTString();
            }
            else var expires = "";
            document.cookie = name+"="+value+expires+"; path=/";
        },

        readCookie: function(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for(var i=0;i < ca.length;i++) {
                var c = ca[i];
                while (c.charAt(0)==' ') c = c.substring(1,c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
            }
            return null;
        },

        eraseCookie: function(name) {
            createCookie(name,"",-1);
        }

    }}); //close function, close extend object, close extend()
})(); // close and execute my anonymous function
toolmap: {
toolmap = {