js学习笔记(一)
来源:互联网 发布:英国gpa算法 编辑:程序博客网 时间:2024/05/16 01:58
1.几个js小技巧
2.Array对象的几个方法
3.操作文档中的form对象
4.js正则表达式使用方式
5.js获取顶层窗口对象的几种方法
一、几个js小技巧
① 使用数组的length属性
var a1 = a2 = [1,2,3];a1 = [];
以上代码使得a1指向空数组,但是a2还指向[1,2,3],如果使用a1.lenth = 0,则引用不会变而是将数组清空,这样a1,a2就指向同一个空数组了。
②数组的push方法
var a1 = [1,2,3];var a2 = [4,5,6];Array.prototype.pust.apply(a1,a2);
以上代码执行后a1=[1,2,3,4,5,6],如果使用常规的var a3 = a1.concat(a2);则需要多构造一个变量。
③特征检测
if(window.opera) //some code;else //some code;
这样检测需要初始化特征对象,而是用以下方式检查 秘钥是否在对象里效率更高
if("opera" in window) //some codeelse //some code
④检查对象是否为数组
使用typeof返回值包括数字、字符串、对象、函数、未定义对象和布尔值,但是不包括数组类型。是否是数组可以用如下方式判断:
Object.prototype.toString.call(arrObject);
这样就能检测arrObject是不是一个数组对象了。
二、Array对象的几个方法
①concat() 连接两个或更多数组,并返回结果
var a = new Array(1,2);var b = new Array(3,4);var c = new Array(5,6);var d = a.concat(b);var e = a.concat(b,c);var f = a.concat(7,8);以上结果为d=[1,2,3,4],e=[1,2,3,4,5,6,],f=[1,2,7,8]。
②pop() 删除并返回数组的最后一个元素
③push() 向数组末尾添加一个或多个元素,返回新的长度
④shift() 删除并返回数组的第一个元素
⑤unshift() 想数组开头添加一个或多个元素,返回新的长度
⑥reverse() 倒序排列数组元素
⑦sort() 升序排列数组元素
⑧slice() 返回已有数组的若干指定元素组成的新数组
var a = new Array(1,2,3,4,5,6,7);var b = a.slice(2);//b=[3,4,5,6,7]var c = a.slice(2,5);//c=[3,4,5]var d = a.slice(-2);//d=[6,7]
⑨toString() 返回数组的字符串形式
⑩join() 返回一个由指定的连接符将数组元素连接成的字符串
var a = new Array(1,2,3);var b = a.join("#");//返回"1#2#3"var c = a.join();//没有连接符返回数组自身[1,2,3]var d = a.join("");//空字符串和没有连接符不是相同的概念,此处返回"123"
三、操作文档中的form对象
可以通过form表单的name属性获取表单对象,通过表单对象的elements属性获得该表单对象所包含的表单元素。
<form name="fom"> <input type="text" name="t1" value="t1"/> <input type="text" name="t2" value="t2"/> <input type="checkbox" name="hobby" value="swimming"/> <input type="checkbox" name="hobby" value="running"</form><script type="text/javascript">var arr = document.fom.elements;//使用var arr = document.fom或var arr = document.forms[0]或var arr = document.forms[0].elements效果相同for(var i = 0; i < arr.length; i++){alert(arr[i].value);}</script>以上程序将先后alert出“t1”、“t2”、“swimming”、“running”。
四、js正则表达式使用方式
var reg = /\w+\d+/; //或者var reg = new RegExp("\\w+\\d+");alert(reg.test("fasdfa1"));使用RegExp对象建立正则表达式的时候引号内的"\"字符需要多加一次转义,有时候这会让语义变得更加不可读,所以建议使用第一种方式创建正则表达式对象。
五、js获取顶层窗口对象的几种方法
① 如果知道当前是第几层子窗口,当然可以通过var win = window.parent.parent.....parent; 这种方式获取顶层window对象。
② 使用var win = window.top; 可以直接获得顶层window对象。
③ 编程方式实现
这种方式需要在顶层窗体中设置一个隐藏的DOM对象:
<div id="tag" style="display:none"></div>然后在子页面的js代码中执行如下程序:
var win = window.selt;var idTag = win.document.getElementById("tag");while(!idTag){ win = win.parent.selt; idTag = win.document.getElementById("tag");}//执行以上程序后win指向顶层window对象
- js学习笔记(一)
- JS学习笔记一
- JS学习笔记一
- js学习笔记(一)
- JS学习笔记一
- js学习笔记(一)
- js学习笔记(一)
- js学习笔记一
- JS学习笔记(一)
- js 学习笔记 (一)
- js学习笔记(一)
- JS学习笔记(一)
- js学习笔记(一)
- js深入浅出学习笔记(一)
- Js学习笔记(一)
- JS学习笔记(一)
- js学习笔记(一)
- Angular.js学习笔记(一)
- yii中Controller中的Action直接跳到另一个action的方法(yii学习)
- hdu-Beans(动态规划,nyoj-234-吃土豆)
- linux常用命令
- CMake OpenCV源代码编译
- Implementation Patterns Chapter3
- js学习笔记(一)
- [每日一题] OCP1z0-047 :2013-08-26 TIMESTAMP WITH LOCAL TIME ZONE....................112
- Android.mk clean出错
- 菜鸟学Java(十一)——GET与POST
- IT项目管理十六字
- 完全用Linux工作,摈弃Windows
- 通过 NSURLConnection实现 同步/ 异步 请求 (WXHL)
- 38-设置html文档编辑范围从0,0开始
- 单链表的快速排序