`
telyy123
  • 浏览: 13638 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
最近访客 更多访客>>
社区版块
存档分类
最新评论

整理的关于JS的一点东西

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)等,可以自己去试

 

后面会继续添加。。。

分享到:
评论

相关推荐

    不唐突的JavaScript的七条准则整理收集第1/2页

    标题《不唐突的JavaScript的七条准则整理收集》表明本文将介绍在开发JavaScript应用时应遵循的七条重要原则或建议。而副标题“在开始设计你的脚本之前,要考虑的第一件事情就是检查你要为其编写脚本的HTML代码,看看...

    由浅到深了解JavaScript类第1/2页

    作者:泣红亭 整理日期:2004年6月15日最近在无忧脚本混了一阵子,回复了一些贴子,自己却没有做出什么东东让大家看看,心里有些不安,于是写了下边的一点东西,本来应该发在类封装区的,考虑到那里比较冷,而这篇...

    javascript中的 object 和 function小结

    于是乎简单整理了下面的一些概念性的东西,方便学习和理解,会结合一点 java面向对象的知识加以说明。 先了解几个概念: 1.首先 Object 在 ECMAScripe 中是指什么,在 ECMAScripe 中有5种简单数据类型:Undefined,...

    补充数据结构和算法系统练习,冲击一线大厂.zip

    全程使用的语言是JavaScript,所以标题上说的是前置xxx,但是实际上你也知道,数据结构和算法这东西主要是考验一个人的思维,至于语言,并且其中没有用到任何JS的高深语法特性,只要会编程,就能理解代码是完全没有...

    tyto:管理和整理事物

    然后它增长了一点,此后又增长了一点。 现在,它使用带有木偶的Backbone。 下一步? 最有可能是Angular 2.0或React。 实际上,大多数组织对于Tyto所做的事情都有某种形式的工具。 但是,以我的经验来看,它们可能很...

    echart map 世界各国城市坐标、中国各省会 经纬度坐标、中英文名称

    在给定的压缩包文件中,包含的是关于世界各国城市以及中国各省会的经纬度坐标,这些数据对于在ECharts地图中精确地定位和展示城市位置至关重要。 首先,让我们了解什么是经纬度。经纬度是地球上地理位置的一个坐标...

    一个牛人提供的GIS源码(很好)

    以前写的部分日志以及提供的下载文件整理: 最后的礼物:校园多媒体系统和校园WEBGIS系统 http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html ┕校园多媒体系统源代码下载:...

    计算机应用技术(实用手册)

    让默认的就可以了,但是超频玩者是肯定不会放过任何可以提高性能的东西的,所以如果你想在这里让你的电脑提升一点性能的话,就必须慢慢试验,选择一个适当的参数才能让你的计算机达到性能和稳定的最佳状态!...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 ...JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...

Global site tag (gtag.js) - Google Analytics