1. 程式人生 > >JS快速完成數據庫數據顯示2

JS快速完成數據庫數據顯示2

res 執行函數 知識點 code urn 註意 func color 返回

知識點1:HttpResponse 與 JsonResponse 的區別?

    HttpResponse (json.dumps(字典或者列表))

    JsonResponse (只能是字典,不能是列表!),如果非要寫列表,那麽加上屬性safe------>JsonResponse (列表,safe=False)

jQuery擴展有兩種方式:

方式一:
jQuery.extend({ "xxx":function(args){ alert(args) } }) $.xxx(666)

方式二:
Jquery.fn.extend({
"xxx":function(args){
包含關於this的語句;
}
})

$("#id").xxx(666) //這的調用不是Jquery,而是一個具體的標簽,並且上面的this指的就是這個調用的標簽。

自執行函數的用法:

(function(jq){
  function f1(){}
  function f2(){}
  ...
  jq.extend({
    "xxx".function(args){}
  })
})(jQuery)

$.xxx(666)

本節重點:

  1. 因為JS中沒有python中的格式化函數format,那麽需要自己寫。

    因為JS中有字符串替換內置函數replace,用法:字符串s.replace("s中的子串","用來做替換的字符串"),其實字符串的格式化本質就是字符串的替換。

    

var name = ‘alexegon‘;
new_name 
= name.replace(‘e‘,‘EEE‘);
結果:new_name: alEEExegon, 只會替換第一處!!!
方式2:
  把repalce的第一個參數寫成正則表達式,格式是/正則表達式/,如果這麽寫也是替換第一處,如果在後面加上g,則是替換所有符合正則表達式規範。
即 new_name = name.replace(/正則表達式/g,‘EEE‘),結果是:alEEExEEEgon。
方式3:
  replace的第二個參數也可以是匿名函數,必須有返回值,那麽返回值就會替換正則表達式匹配成功的字符串。
  name.replace("a",function(k,v){})
  name.replace(/a/,function(k,v){})
  其中k---->指的是匹配成功的字符串,v----->指的是此字符串的位置
  註意:k,v的值可以有多組。
格式化:
  name = "sfsdcdsvd{xxx},vfes{uuuu}"
  kwargs = {"xxx":‘alex‘,"uuuu":‘18‘}
  需要寫格式化函數,使得 name.format(kwargs)

JS原型:為類增加方法,以後所有對象都可以調用,當字符串對象調用format時,會自動調用後面的函數。
  String.prototype.format = function(kwargs){
    return this.replace(/\{(/w+)\}/,function(k,v){
      return kwargs[v]
    });
  }
  
  name.format(kwargs);

JS中定義類:
  function Foo(name,age){
    this.name = name;
    this.age = age;
  }
  Foo.prototype.func = function(){
    this...
  }
  obj = new Foo(‘egon‘,19);
  obj.func()



    

JS快速完成數據庫數據顯示2