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);
}