整理的关于JS的一点东西

1. main page里面取iframe src page中的dom对象(兼容各种浏览器)

window.onload = (function(){

     var _iframe = document.getElementById('iframe_id').contentWindow;

     var _iframe_head = _iframe.document.getElementsByTagName('head')[0];

});

 

2. js判断浏览器类型

var _browser = {};

var _userAgent = navigator.userAgent.toLowerCase();

 

if(window.ActiveXObject){

     //只有IE支持创建ActiveXObject控件

     _browser.ie = _userAgent.match( / msie ([\d.]+) / )[ 1 ];

}

 

if(document.getBoxObjectFor ){

    //Firefox中的DOM元素都有一个getBoxObjectFor函数,用来获取DOM元素的位置和大小,(IE里面是getBoundingClientRect),这个是Firefox独有的

     _browser.firefox = _userAgent. match( / firefox\ / ([\d.] + ) / )[1];

}

 

if(window.opera){

    _browser.opera = _userAgent.match( / opera.([\d.]+) / )[ 1 ];

}

 

if(window.openDataBase){

    _browser.safari = _userAgent. match( /safari \ / ([\d.] + ) / )[1];

}

 

if(window.MessgeEvent && !window.getBoxObjectFor ){

    //MessageEvent  -- Firefox和Chome都有,但是Chrome没有getBoxObjectFor

    _browser.chrome = _userAgent. match( / chrome\ / ([\d.] + ) / )[1];

}

 

if(_browser.ie){

// the browser is ie

}

 

...

 

3. 输入框禁止输入法

<input type='text' sytle='ime-mode : disabled'/>

 

4. 只允许键盘输入0 ~ 9之间的数字

var ev = window.event || e;

if(ev.which == null && !(ev.keyCode >= 48 && ev.keyCode <= 57) && ev.keyCode != 8){
    e.preventDefault();
}
if(ev.which != null && !(ev.which >= 48 && ev.which <= 57) && ev.which != 8){
    e.preventDefault();
}

 

5. 创建一个个数不定的js函数

function test(){

    var _args_len = arguments.length;

    var first_arg = arguments[0];

    .....

}

 

test(1,'2bca','9787383');

 

6. JS关于undefined、null、NaN

凡是未定义的和定义了未赋值的都是undefined, null是一种特殊的object,NaN是一种number类型

NaN !== Anything 包括NaN本身

alert(undefined == null)    ====> true

 

关于js中字符串转换成数值的操作,建议最好写成下面的样式:

var str = 'jueyuye'

var _int_value = isNaN(parseInt(str)) ? str : parseInt(str);

 

7.JS数组的一些操作

shift : 删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined

var a = [1,2,3,4,5];

var b = a.shift();    // a : [2,3,4,5]

 

unshift : 将参数添加到原数组开头,并返回数组的长度

var a = [1,2,3,4,5];

var b = a.unshift(-2,-1);  // a : [-2,-1,1,2,3,4,5]    b : 7

注意:此返回值在各个浏览器之间会有不同,如果需要使用此方法的返回值,建议使用splice方法!

 

pop : 删除原数组最后一项,并返回删除元素的值;如果数组为空,则返回undefined

var a = [1,2,3,4,5];

var b = a.pop(); //a : [1,2,3,4]   b : 5   不需要返回值的话直接调用就行了

 

push : 将参数添加到原数组末尾,并返回数组的长度

var a = [1,2,3,4,5];

var b = a.push(6,7);  // a : [1,2,3,4,5,6,7]   b : 7

 

concat : 返回一个新数组,是将参数添加到原数组中构成的

var a = [1,2,3,4,5];

var b = a.concat(6,7);  // b : [1,2,3,4,5,6,7]

 

splice(start, deleteCount, val1, val2, ...) : 从start位置开始,删除deleteCount个元素,并从该位置起插入val1,val2, ... , 返回被删除的元素列表

var a = [1,2,3,4,5];

var b = a.splice(2,2,7,8,9);   //a : [1,2,7,8,9,5]   b : [3,4]

 

var b = a.splice(0,1); // 同shift

a.splice(0,0,-2,-1); b = a.length;  // 同unshift

 

var b = a.splice(a.length - 1,1); //同pop

a.splice(a.length,0,-2,-1); var b = a.length; //同push

 

reverse : 将数组反序,返回反序的数组

var a = [1,2,3,4,5];

var b = a.reverse();  // b = [5,4,3,2,1]

 

slice(start,end) : 返回从原数组中指定开始下标到结束下标之间的项组成的新数组

var a = [1,2,3,4,5];

var b = a.slice(2,5);  // b : [3,4,5]

 

join(seperator) : 将数组的所有元素组成一个字符串,以seperator为分隔符,省略的话默认为逗号分隔符

var a = [1,2,3,4,5];

var b = a.join();   // b : "1,2,3,4,5"

 

以上的方法能够给数组添加很多自定义的操作,譬如remove(val),add(index)等,可以自己去试

 

后面会继续添加。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值