2.js学习

1.拆分器控件Splitcontainer,是一个含有Splitter拆分条的容器,它包含两个面板容器Panel1,Panel2,可以移动拆分条,对面板大小进行控制!

2.eval:把一个字符串变为JavaScript表达式执行(很重要!很常用)
例如:eval("12+23+34+45") // 114

3.*********一、函数的三种角色

首先要先了解在函数本身会有一些自己的属性,比如:

  • length:形参的个数;
  • name:函数名;
  • prototype:类的原型,在原型上定义的方法都是当前这个类的实例的公有方法;
  • __proto__:把函数当做一个普通对象,指向Function这个类的原型

4.

Ext.extend(subclass, superclass, [overrides]) 用来继承已有的类
Ext.extend()函数提供了直接访问父类构造函数的途径,通过 SubClass.superclass.constructor.call(this);就可以直接调用父类的构造函数,这个函数的第一个参数总是 this,以确保父类的构造函数在子类的作用域里工作。
如果父类的构造函数需要传入参数,可以讲所需的参数直接传递给它: SubClass.superclass.constructor.call(this,config);这样就得到了一个继承了父类的所有属性和函数的子类。
总结一下,对于EXTjs来说,有一个base类,子类使用extend来继承base类,extend有三个参数,第一个是子类即this,第二个参数是base类,第三个参数是config。另外子类在构造的时候使用subclase.superclass.construtor.call(this);来构造。

this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。

call.(thisOject, arg1 ,arg2 ...)

我们单独说说call(),因为apply()和call差不多,只不过apply第二个参数必须传入的是一个数组,而call 第二个参数可以是任意类型。

obj1.(method).call(obj2,argument1,argument2)
如上,call的作用就是把obj1的方法放到obj2上使用,后面的argument1..这些做为参数传入。

 

5.js中可以这样定义属性也行; this.abc = 1;

6.onload 和 onunload 事件

onload 和 onunload 事件会在用户进入或离开页面时被触发。

onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload 和 onunload 事件可用于处理 cookie。

7.document.getElementById("myList").insertBefore(newItem,existingItem); 插入在mylist元素里面的最前方

8.DIV处于最外层

1、所有的相关元素都得用DIV并且必须有等位属性:position:relative或者:position:absolute ;
2、将最上层的DIV的z-index属性设置的大一点,比如z-index:2000;
3、其他在下面层的DIV中z-index的属性值都要小于最上层DIV的z-index值;

9.window.top解释(嵌套框架

应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口,self是当前窗口。

 而window.top就是返回顶层窗口,即浏览器窗口。

window.top.location就是顶层网页页面的地址对象

if (window.top!=window.self) {
        document.write("<p>这个窗口不是最顶层窗口!我在一个框架?</p>")
    }

10.数组可以用作队列

this.arrays = [];

$('.classOnclick').on('click',function(e){

  this.arrays.push($(this));//将当前元素放进数组

setTimeout(function(){

var $tab = this.array.shif();//取第一个元素

$tab.removeClass('disabled');

},3000);

})

11.var that=this

var that=this就是将当前的this对象复制一份到that变量中。这样做意义。

$('#zhetenga').click(function(){

  //this是被点击的#zhetenga

  var that = this;

  $('.zhetenga').each(function(){

  //this是.zhetenga循环中当前的对象

  //that仍然是刚才被点击的#zhetenga

  });

});

或者是$(“#id”).on('click',function(){

this//指的是$('#id')这个对象

})

12、window对象的一切方法,都可以直接调用。他是全局对象。

setInterval()按照指定的周期(以毫秒计)来调用函数或计算表达式。

 

13.match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

示例:smartbi中,util方法里,可以通过它来返回指定的不允许输入的错误符号。

stringObject.match(searchvalue)
stringObject.match(regexp)

//验证特殊字符。
checkValid2 : function(nameStr, text){
        //定义regexp正则
		var x = eval("/[\\\\/\"*?%=:;\\[\\]|]/");
		var ret = nameStr.match(x);
		if(ret){
            //使用modalWindow打开窗口
			if (!modalWindow)
				modalWindow = jsloader.resolve("freequery.common.modalWindow");
			if(ret == " "){
				ret = "空";
			}
			modalWindow.open(text
							+ "结果中包含\\/\"*?%=:;[]|中的"
							+ ret + " 请确认");
			return false;
		}
		return true;
	}

 

14.insetBefort使用

function main(spreadsheetReport) {
    //1.找到sheet页元素td
    var tdsheets = spreadsheetReport.elemTdSheets;
    //2.找到想要插入的元素前
    var contentTr = spreadsheetReport.elem_content;
    //找到父元素
    var outerTable = spreadsheetReport.elem_outerTable.firstElementChild;
    //3.将sheet页元素父元素的content元素前
    outerTable.insertBefore(tdsheets, contentTr);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值