zoukankan      html  css  js  c++  java
  • extjs 记录一下

    1.如何动态地给一个对象添加属性?

    <script>
    var objectX  = {};
    name = "sex";
    value= "male";
    eval("objectX." + name + "=value");
    alert(objectX.sex);
    </script>

    var objectX  = {};
    name = "sex";
    value= "male";
    objectX[name]=value;
    alert(objectX.sex);

    根据最初设计,系统提供一个StoreParams类,要传输的内容全部通过这个类的属性增加内容,然后再转换成json传输到服务器,为了解决能动态生成属性,发现第二种方法很好。

    ----------------------------------------------------------------------------------------------------------------------------------------------

    2.获取页面中所有输入内容:

    function getInputsObject() {
        var items = Ext.ComponentMgr.all.items;
        var obj = new function(){};
    //    obj.czrkssssxq = 'aa';
        for ( var i = 0; i < items.length; i++) {
            if ((items[i].getValue) && (items[i].getValue() != '')
                    && (items[i].getValue() != undefined)) {
                obj[items[i].getName()] = items[i].getValue();
            }
        }

        return obj;

    }

    ----------------------------------------------------------------------------------------------------------------------------------------------

    3.JS的闭包

    function makeIncrementer(){
    var n=0;
    function increment(){
      return ++n;
    }
    //n++;
    return increment;

        var inc1 = makeIncrementer();
    alert(inc1());
    alert(inc1());

    对于闭包的理解:

    1.闭包其实就是函数的返回结果可以是函数(increment)。

    2.这个返回的函数(increment)中存了一些被函数(makeIncrementer)实例化的变量(n),这些变量(n)在调用过程中(inc1 )不会被回收,除非结束调用(inc1被回收)。

    ----------------------------------------------------------------------------------------------------------------------------------------------

    4.constructor

    JS可以通过constructor判断一个变量的类型

    var x = new String();
    if (x.constructor == String){
      alert('test');
    }

    ?可是如何知道一个变量是从什么类型继承的呢?

    ----------------------------------------------------------------------------------------------------------------------------------------------

    5.关于store

    store有一个方法:getModifiedRecords()可以得到所有被修改过的记录(包括新增记录)

    可是如果得到所有被修改、删除、以及新增的记录呢:

    可以参考store的save方法

    if (this.removed.length) {
    this.doTransaction("destroy", this.removed);
    }

    这个是得到所有删除的记录

    var phantoms = [];
    for (var i = rs.length-1; i >= 0; i--) {
    if (rs[i].phantom === true) {
    var rec = rs.splice(i, 1).shift();
    if (rec.isValid()) {
                        phantoms.push(rec);
    }
    } else if (!rs[i].isValid()) { // <-- while we're here, splice-off any !isValid real records
                    rs.splice(i,1);
    }
    }
    // If we have valid phantoms, create them...
    if (phantoms.length) {
    this.doTransaction('create', phantoms);
    }
    // UPDATE:  And finally, if we're still here after splicing-off phantoms and !isValid real records, update the rest...
    if (rs.length) {
    this.doTransaction('update', rs);
    }

    这个是得到所有新增和修改的记录
  • 相关阅读:
    五子棋人机对战设计
    通过getSystemServices获取手机管理大全
    C#常见错误解决方法
    🍖数据增删改查页面搭建
    🍖django ORM 表关系与django 请求生命周期流程图
    🍖django ORM 简介
    🍖Python与django连接数据库
    🍖静态文件配置与request对象
    开启进程的两种方式
    进程PID 与PPID
  • 原文地址:https://www.cnblogs.com/barryhong/p/1573795.html
Copyright © 2011-2022 走看看