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的七条准则整理收集》表明本文将介绍在开发JavaScript应用时应遵循的七条重要原则或建议。而副标题“在开始设计你的脚本之前,要考虑的第一件事情就是检查你要为其编写脚本的HTML代码,看看...
作者:泣红亭 整理日期:2004年6月15日最近在无忧脚本混了一阵子,回复了一些贴子,自己却没有做出什么东东让大家看看,心里有些不安,于是写了下边的一点东西,本来应该发在类封装区的,考虑到那里比较冷,而这篇...
于是乎简单整理了下面的一些概念性的东西,方便学习和理解,会结合一点 java面向对象的知识加以说明。 先了解几个概念: 1.首先 Object 在 ECMAScripe 中是指什么,在 ECMAScripe 中有5种简单数据类型:Undefined,...
全程使用的语言是JavaScript,所以标题上说的是前置xxx,但是实际上你也知道,数据结构和算法这东西主要是考验一个人的思维,至于语言,并且其中没有用到任何JS的高深语法特性,只要会编程,就能理解代码是完全没有...
然后它增长了一点,此后又增长了一点。 现在,它使用带有木偶的Backbone。 下一步? 最有可能是Angular 2.0或React。 实际上,大多数组织对于Tyto所做的事情都有某种形式的工具。 但是,以我的经验来看,它们可能很...
在给定的压缩包文件中,包含的是关于世界各国城市以及中国各省会的经纬度坐标,这些数据对于在ECharts地图中精确地定位和展示城市位置至关重要。 首先,让我们了解什么是经纬度。经纬度是地球上地理位置的一个坐标...
以前写的部分日志以及提供的下载文件整理: 最后的礼物:校园多媒体系统和校园WEBGIS系统 http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html ┕校园多媒体系统源代码下载:...
让默认的就可以了,但是超频玩者是肯定不会放过任何可以提高性能的东西的,所以如果你想在这里让你的电脑提升一点性能的话,就必须慢慢试验,选择一个适当的参数才能让你的计算机达到性能和稳定的最佳状态!...
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 ...JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...