最近JS使用总结

本文是近期工作中使用到的小知识点,解决方案大都来自于前辈 的博客,在此感谢,

自动换行

用<tdstyle="word-break:break-all;">,这种方式兼容chrome等大多数浏览器。

尤其是输入一长串英文时,浏览器认为它是一个完整的单词,便不会强制换行,用table-layout:fixed,width="300"等方式都没用,但是中文会自动换行的。



类型转化

z_Usenum =parseInt(entity.usenum);

输出日志

console.log(cou);

汉字编码

Jquery解码:decodeURIComponent(url);
Jquery编码:encodeURIComponent(url);

ASCII码值转成相应字符

String.fromCharCode(97)

Ajax同步传输

jquery ajax 在获取函数返回值问题上总不如人意,最终找到以下解决办法:
//添加async:false.即修改为同步 ;等ajax给bol赋值完毕后,才执行下面的js部分。而异步的话,还没有来得及赋值,就已经return了。

js 自定义的相当于LIST的对象

function   Vector()
{
        this.data   =   new   Array();
        this.add   =   Vector_add;
        this.remove   =   Vector_remove;
        this.elementAt   =   Vector_elementAt;
        this.setElementAt   =   Vector_setElementAt;
        this.insert   =   Vector_insert;
        this.contains   =   Vector_contains;
        this.length   =   Vector_length;
        this.toString   =   Vector_toString;
}

function   Vector_add(   item   )
{
        this.data[   this.data.length   ]   =   item;
}

function   Vector_remove(   index   )
{
        var   data   =   this.data;
        data[   index   ]   =   null;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   data[   i   ]   !=   null   )
                {
                        tmpdata[   newindex   ]   =   data[   i   ];
                        newindex++;
                }
        }
        this.data   =   tmpdata;
}

function   Vector_removeItem(   item   )
{
        var   data   =   this.data;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   data[   i   ]   !=   item   )
                {
                        tmpdata[   newindex   ]   =   data[   i   ];
                }
                newindex++;
        }
        this.data   =   tmpdata;
}

function   Vector_elementAt(   index   )
{
        return   this.data[   index   ];
}

function   Vector_setElementAt(   index,   item   )
{
        this.data[   index   ]   =   item;
}

function   Vector_insert(   index,   item   )
{
        if(   index   ==   this.data.length   )
        {
                this.add(   item   );
                return;
        }
        var   data   =   this.data;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   i   ==   index   )
                {
                        tmpdata[   i   ]   =   item;
                        newindex++;
                }
                tmpdata[   newindex   ]   =   data[   i   ];
                newindex++;
        }
        this.data   =   tmpdata;
}

function   Vector_contains(   item   )
{
        for(   var   i   =   0;   i   <   this.data.length;   i++   )
        {
                if(   this.data[i]   ==   item   )
                {
                        return   true;
                }
        }
        return   false;
}

function   Vector_length()
{
        return   this.data.length;
}

function   Vector_toString()
{
        var   dataString   =   "[   ";
        var   data   =   this.data;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                dataString   +=   data[i]   +   "   ";
        }
        dataString   +=   "] ";
        return   dataString;
} 

定义Map 对象

 //定义简单Map  
 function getMap() {//初始化map_,给map_对象增加方法,使map_像Map    
          var map_ = new Object();    
          map_.put = function(key, value) {    
              map_[key+'_'] = value;    
          };    
          map_.get = function(key) {    
              return map_[key+'_'];    
          };    
          map_.remove = function(key) {    
              delete map_[key+'_'];    
          };    
          map_.keyset = function() {    
              var ret = "";    
              for(var p in map_) {    
                  if(typeof p == 'string' && p.substring(p.length-1) == "_") {    
                      ret += ",";    
                      ret += p.substring(0,p.length-1);    
                 }    
              }    
              if(ret == "") {    
                  return ret.split(",");    
              } else {    
                  return ret.substring(1).split(",");    
              }    
          };    
          return map_;    
 }    
        
      var map = getMap();  
      map.put("395","12,21,52,89,35");  
      map.put("396","121111,2222221,5333332,8444449,3555555");  
          alert(map.get("395"));//输出:12,21,52,89,35  
      alert(map.keyset()); //输出:395,396  
相关文章
相关标签/搜索