在写javascript代码,读代码的时候发现有时候用‘’  有时候用 “ ”
问到底什么情况下用单引号比较好,
有什么情况下用双引比较好
有时候又必须区分2者?(比如赋值的时候 var s=“ok”,  var homeElement =new Element('id','....'))???

解决方案 »

  1.   

    引号里引号好像就要用单引号 比如onclick="fun('abc');"。。
      

  2.   

    A string literal can be wrapped in single quotes or double quotes. 
      

  3.   

    研究深入javascript发现搞精通绝对不容易
    var come= new Class({
    initialize: function(){
    this.integerParameter=-1;
    this.integerParameter2=-1;
    this.integerParameter3=-1;
    this.doubleParameter=-1.0;
    this.doubleParameter2=-1.0;
    }
    });
    看看这个类 , 如何条用这个类??在看看var Util = new Class({
    initialize: function(){
    this.dateRegex=/(\d{1,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):.+/;
    },
    getDateFromJavaString: function(dateString){
    var rezDate=new Date();
    var rez=dateString.match(this.dateRegex);
    rezDate.setYear(rez[1]);
    rezDate.setDate(parseFloat(rez[3]));
    rezDate.setMonth(parseFloat(rez[2])-1);
    rezDate.setHours(parseFloat(rez[4]));
    rezDate.setMinutes(parseFloat(rez[5]));
    return rezDate;
    }
    });var util = new Util();------这个简直就是java类的功能了  如何调用?
      

  4.   

    下面代码里  有很多问题
    1 Dis extend哪一个类?
    2  initialize是社么含义
    2 Element代表什么意思 ? 全部代码表示什么意思?
    var Dis = CategElement.extend ({
    initialize: function(id){
    this.parent(id);
    this.countries=new Hash();
    //this.setClassName('MarketTab');
    /*var headerRow=new Element('tr',{'class': 'headerRow'});
    var dateCell=new Element('td',{'class': 'dateWidth'});
    dateCell.setText('DATE');
    dateCell.injectInside(headerRow);
    var hourCell=new Element('td',{'class': 'hourWidth'});
    hourCell.setText('HOUR');
    hourCell.injectInside(headerRow);
    var homeTeamCell=new Element('td',{'class': 'teamWidth'});
    homeTeamCell.setText('HOME-TEAM');
    homeTeamCell.injectInside(headerRow);
    var awayTeamCell=new Element('td',{'class': 'teamWidth'});
    awayTeamCell.setText('AWAY-TEAM');
    awayTeamCell.injectInside(headerRow);
    var homeCell=new Element('td',{'width': '45','colspan': '2'});
    homeCell.setText('HOME');
    homeCell.injectInside(headerRow);
    var drawCell=new Element('td',{'width': '45','colspan': '2'});
    drawCell.setText('DRAW');
    drawCell.injectInside(headerRow);
    var awayCell=new Element('td',{'width': '45','colspan': '2'});
    awayCell.setText('AWAY');
    awayCell.injectInside(headerRow);
    var expandCell=new Element('td',{'width': '10'});
    expandCell.setHTML(' ');
    expandCell.injectInside(headerRow);
    //headerRow.injectInside(this.topElement);*/ this.elementLine=new Element('tr',{'class': 'titleLine'});
    this.elementCell=new Element('td');
    this.elementLine.injectInside(topTableBody);
    },
    addCountry: function(country){
    this.countries.set(country.id,country);
    this.appendCategChildRow(country);//,'SubMarket' },
      

  5.   

    都可以的;
    C/C++里面倒是双引号表示string;单引号表示char
      

  6.   

     呵呵  一点点钻牛角尖哦 
    写个demo  各种试   
      

  7.   

    javascript有这样的功能      这样可以灵活地换“ 和‘
    e.g.   var aString="it's very good" ;
           var anotherString='it said"good"';
    单双引号可以互相嵌套  非常方便~~
      

  8.   

    有么有很强的javascript开发工具
    发现找到函数定义的地方 eclipse不能做 
      

  9.   

    initialize: function(){
    this.chinese wholesalers
    uggr=-1;
    this.integerParameter2=-1;
    this.integerParameter3=-1;
    this.doubleParameter=-1.0;
    this.doubleParameter2=-1.0; 
      

  10.   

    # <script>    
    #     //定义一个javascript类  
    #     function JsClass(privateParam/*  */,publicParam){//构造函数  
    #         var priMember = privateParam;   //私有变量  
    #         this.pubMember = publicParam;   //公共变量  
    #         //定义私有方法  
    #         function priMethod(){  
    #             return "priMethod()";  
    #         }  
    #         //定义特权方法  
    #         //特权方法可以访问所有成员  
    #         this.privilegedMethod = function(){  
    #             var str = "这是特权方法,我调用了\n";  
    #             str += "        私有变量:" + priMember +"\n";  
    #             str += "        私有方法:" + priMethod() +"\n";  
    #             str += "        公共变量:" + this.pubMember +"\n";  
    #             str += "        公共方法:" + this.pubMethod();  
    #               
    #             return str;  
    #         }         
    #     }  
    #     //添加公共方法  
    #     //不能调用私有变量和方法  
    #     JsClass.prototype.pubMethod = function(){  
    #         return "pubMethod()";  
    #     }  
    #   
    #     //使用 JsClass的实例  
    #     JsObject = new JsClass("priMember","pubMember");  
    #       
    #     //alert(JsObject.pubMember);//弹出pubMember信息  
    #     //alert(JsObject.priMember);//弹出undefined信息  
    #     //alert(JsObject.pubMethod());//弹出pubMethod信息  
    #     //alert(JsObject.priMethod());//弹出"对象不支持此属性或方法"的错误  
    #     alert(JsObject.privilegedMethod());  
    # </script> avaScript 定义类在javascript中定义类或对象有下面几种常用的方式:(1)工厂方式
    function createCar(color, doors, mpg){
        var tempCar = new Object;
        tempCar.color = color;
        tempCar.doors = doors;
        tempCar.mpg = mpg;
        tempCar.showColor = function (){
            alert(this.color);
        };
        return tempCar;
    }var car1 = createCar("red", 4, 23);
    var car2 = createCar("blue", 3, 25);
    car1.showColor();
    car2.showColor();
    定义了一个能创建并返回特定类型对象的工厂函数,看起来还是不错的,但有个小问题,每次调用时都要创建新函数showColor,我们可以把它移到函数外面,function showColor(){
        alert(this.color);
    }
    在工厂函数中直接指向它
    tempCar.showColor = showColor;这样避免了重复创建函数的问题,但看起来不像对象的方法了。(2)构造函数方式
    function Car(sColor, iDoors, iMpg){
        this.color = sColor;
        this.doors = iDoors;
        this.mpg = iMpg;
        this.showColor = function (){
            alert(this.color);
        };
    }var car1 = new Car("red", 4, 23);
    var car2 = new Car("blue", 3, 25);car1.showColor();
    car2.showColor();
    可以看到与第一中方式的差别,在构造函数内部无创建对象,而是使用this 关键字。使用new 调用构造函数时,先创建了一个对象,然后用this来访问。
    这种用法于其他面向对象语言很相似了,但这种方式和上一种有同一个问题,就是重复创建函数。(3)混合的构造函数/原型方式这种方式就是同时使用构造函数方式和原型方式,综合他们的优点,构造函数方式前面介绍过了,现在看一下原型方式
    function Car(){}
    Car.prototype.color = "red";
    Car.prototype.doors = 4;
    Car.prototype.mpg = 23;
    Car.prototype.showColor = function(){
        alert(this.color);
    };var car1 = new Car();
    var car2 = new Car();
    首先定义了构造函数Car,但无任何代码,然后通过prototype 添加属性
    优点:
    a. 所有实例存放的都是指向showColor 的指针,解决了重复创建函数的问题
    b. 可以用 instanceof 检查对象类型
       alert(car1 instanceof Car);  //true缺点,添加下面的代码:
    Car.prototype.drivers = new Array("mike", "sue");car1.drivers.push("matt");alert(car1.drivers);  //outputs "mike,sue,matt"
    alert(car2.drivers);  //outputs "mike,sue,matt"drivers是指向Array对象的指针,Car的两个实例都指向同一个数组。
    下面就用一下混合方式:
    function Car(sColor, iDoors, iMpg){
        this.color = sColor;
        this.doors = iDoors;
        this.mpg = iMpg;
        this.drivers = new Array("mike", "sue");
    }
    Car.prototype.showColor = function (){
        alert(this.color);
    };var car1 = new Car("red", 4, 23);
    var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");
    alert(car1.drivers);
    alert(car2.drivers);
    这样就没有问题了,并且还可以使用 instanceof(4)动态原型法
    function Car(sColor, iDoors, iMpg){
        this.color = sColor;
        this.doors = iDoors;
        this.mpg = iMpg;
        this.drivers = new Array("mike", "sue");
        
        if(typeof Car.initialized == "undefined"){
            Car.prototype.showColor = function (){
                alert(this.color);
            };
            Car.initialized = true;
        }
    }var car1 = new Car("red", 4, 23);
    var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");
    alert(car1.drivers);
    alert(car2.drivers);
    这种方式是我最喜欢的,所有的类定义都在一个函数中完成,看起来非常像其他语言的类定义,不会重复创建函数,还可以用 instanceofirini   2007-05-13 16:27:08 评论:1   阅读:2676   引用:0
      

  11.   

    都可以的 但是如果想要放到字符串中的话就要''了 如:"<input id='test' />"
      

  12.   

    我建议在 JavaScript 中的字符串使用单引号,这样至少有一个好处:如果 HTML 作为 JavaScript 字符串的话,不需要再将双引号进行转义。说一下,不管是用双引号还是单引号作为字符串的界定符,应保证全部统一。