- 浏览: 529345 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (119)
- java总结 (43)
- Spring (2)
- 反编译工具 (1)
- hibernate (1)
- Tomcat (1)
- WebLogic (2)
- 随笔 (4)
- Word问题小记 (2)
- web前端 (26)
- Oracle (10)
- DOS (1)
- 面试笔试 (3)
- Servlet (1)
- jQuery (1)
- Linux/Unix (2)
- JSTL (1)
- struts2 (2)
- JSON (2)
- Velocity (0)
- 生活 (3)
- MyEclipse使用小结 (1)
- 操作系统 (2)
- jqgrid (1)
- ajax-dwr (1)
- javascript (18)
- dreamweaver (2)
- html (10)
- css (5)
- 正则表达式 (1)
- IO (3)
最新评论
-
a363722188:
幽默者 写道老兄,Collections.copy(dest1 ...
由java中深度复制一伸出Collections.copy的使用 -
幽默者:
老兄,Collections.copy(dest1, src1 ...
由java中深度复制一伸出Collections.copy的使用 -
raymao:
java 中 split 是正则表达式
java 和 javascript split 的区别! -
413899327:
面试前端javascript
阿里电话面试 -
yzsunlight:
你面试前台UI?
阿里电话面试
1.Javascript中的数组
数组的创建
数组下标操作
数组的方法
concat join slice 不修改原数组
push pop unshift shift reverse sort splice 修改原数组
2.Javascript中简单对象的创建与属性操作
简单对象的创建
简单对象属性的添加
简单对象属性的访问
通过对象直接量的方式定义包含属性的对象
3.JSON数据格式
JSON(Javascript Object Notation)是一种轻量级的数据交换格式。
纯文本,Javascript原生支持
与XML相比:
优势实在Javascript当中解析快,操作方便,不需要使用DOM。
缺点是在服务器端,生成正确的JSON格式数据与生成XML格式数据相比,服务器端语言的辅助包成熟度较低。
4.面向对象的Javascript
类的定义
公用属性和方法的定义
原型对象
===================================================
1.Javascript中的数组
数组的创建
<script type="text/javascript"> function arrayTest(){ //使用new Array() var array1 = new Array(); //使用[]操作符 var array2 = []; //创建的同时定义数组中的元素 //使用new Array()方式 var array3 = new Array(1,2,3); //使用[]操作符 var array4 = [1,2,3]; //创建多维数组 //使用new Array()方式 var array5 = new Array(1,new Array(2,3),4); //使用[]操作符 var array6 = [1,[2,3],4]; //数组的下标操作 //获取数组中的某元素的值 alert(array3[1]); //设置数组中某个下标对应的元素值 array4[2] = 111; //访问对维数组中的元素 alert(array5[1][0]); //javascript中的数组时可以动态改变大小的,因此可以直接给一个不存在的下标设置元素值 array[99] = 100; //数组中的方法 //concat,这个方法可以用来做数组的连接或者说合并,原数组内容不会变更,将返回一个新的数组 var array41 = array.concat(101,102,103); var array42 = array.concat([104,105]); var array43 = array.concat(array4); //join,这个方法可以将数组当中的元素,按照指定的分隔符连接成字符串输出,原数组的内容不会变 var strarray431 = array43.join("");//1211112111 var strarray432 = array43.join("+");//1+2+111+1+2+111 //slice,这个放好可以返回当前数组的子数组,原始数组的内容不会改变 var slicearray1 = array43.slice(0,3);//从0下标开始,到3下标之前的元素返回新的数组[1,2,111] var slicearray2 = array43.slice(4);//从4下标开始,到数组尾部的所有元素都返回成新的数组[2,111] //从当前数组的倒数第二个元素开始,当前数组倒数第一个元素之前的所有内容返回一个新的数组[2] var slicearray3 = array43.slice(-2,-1); //push,pop,在数组尾端追加(push)或弹出(pop)元素,将会修改原数组的内容 array43.push(200); array43.push(201,202); array43.push([201,202]); array43.push(array41); var arraypop = array43.pop(); var arraypop = array43.pop(); //unshift,shift,在数组的开头进行追加(unshift)和弹出(shift)的操作,将会修改原数组的内容 array43.unshift(300); array43.unshift(301,302); array43.unshift([303,304]); var arrayshift = array43.shift(); var arrayshift2 = array43.shift(); //reverse,这个方法可以翻转数组中的元素,修改原数组的内容 array43.reverse(); //sort,这个方法可以对数组中的元素进行排序,修改原数组的内容 array43.sort();//无参,是按照字母顺序对数组中的元素进行了升序的排列 array43.sort(function(a,b){ return a-b; });//就是按照数值大小,进行一个升序的排列。如果返回的是负值,则a会出现在b的前面 array43.sort(function(a,b){ return b-a; });//就是按照数值大小,进行一个降序的排列。 //splice,可以删除数值中的一部分元素,并且把删除的内容进行返回,原数组的内容会发生变更,还可以在制定位置添加元素 //第一个参数,删除元素开始的下标位置 //删除元素的个数 array43.splice(index,howMany,element1,elementN); //用局部变量来接收删除的返回值,会把删除部分的内容进行返回 var splicearray1 = array43.splice(4,2);//从下标为4的元素开始,删除两个元素 var splicearray2 = array43.splice(4); //从下标为4的元素开始,直到数组末尾的所有元素都被删除 array43.splice(1,0,400,401);//从下标为1的元素之前,0表示不删除,插入400,401 array43.splice(1,0,[500,501]);//从下标为1的元素之前插入500,501 } </script>
===================================================================
2.Javascript中简单对象的创建与属性操作
<script type="text/javascript"> function objectTest(){ //方式1,通过new Object() var obj1 = new Object(); //方式1,通过{}操作符 var obj2 = {}; //增加属性,使用.操作符 //使用new Array()方式 obj1.num = 1; obj1.str = "String"; obj1.hell = function(){ alert("hello!"); } obj2.obj = obj1; //属性的访问,方法1,使用.操作符 alert(obj2.obj.num); alert(obj2.obj.str); obj1.hello(); //属性的访问,方法2,使用[]操作符 alert(obj2["obj"]["num"]); alert(obj2["obj"]["str"]); obj1["hello"](); alert(""); //对象直接量定义方法,利用{} var obj3 = { num:1, str:"String", hello;function(){ alert("hello!"); } }; } </script>
======================================================================
3.JSON数据格式
<script type="text/javascript"> function jsonTest(){ //JSON数据格式定义 var json1 = "[1,2,{" + "a:123,b:'String',c:[100,101]'" + "}]"; //javascript的一个内置方法eval(),返回回json这段数据格式所对应的javascript的数组或者对象 var jsonArray = eval(json1); var json2 = "{" + "a:'hello', b:[1,2,3], c:function(){ alert(\"Hi!!!\") }" + "}"; //错误写法 //var jsonObject = eval(json2); //正确的写法 var jsonobj = eval( "(" + json2 + ")" ); 如果从服务器端返回回来的json数据格式 他最终代表的是一个数组,可以直接用eval的方式对他进行执行, 返回javascript里面的一个数组。 如果从服务器端返回的json格式对应的是一个对象,我们必须要在他的外层加上括号(), 才会返回正确的对象,否则会报错。 } </script>
======================================================================
4.面向对象的Javascript
<script type="text/javascript"> //javascript中类的定义,需要靠function来模拟 /* function Teacher(){ }*/ //建议采用下面的形式来定义一个js中的类,可以和普通的function进行区分 //建议类名首字母大写,以便更好的和普通的function进行区分 var Teacher = function(){ } //定义一个Book的类,这个function还承担了模拟构造函数的工作 //在使用new操作符创建Book类的对象时,这个function中的代码会被执行 //这里面的this代表当前对象 /* var Book = function(name){ //定义共有的属性 this.name = name; //定义共有的方法 this.getName = function(){ return this.name; }; this.setName = function(name){ this.name = name; } }*/ /********************************************* //一种更为合适的公有属性和方法定义 var Book = function(name){ //Book.prototype.name=name; //公有属性,在构造方法里面来定义,通过this关键字 this.name = name; } //Book.prototype.name="";//优先访问对象上的属性,即这里的this.name,没有才会访问(找)原型对象上的name; //公有的方法,在原型对象上定义 Book.prototype.setName = function(name){ this.name = name; }; Book.prototype.getName = function(){ return this.name; };**************************************/ //一种更为合适的公有属性和方法定义 var Book = function(name){ //Book.prototype.name=name; //公有属性,在构造方法里面来定义,通过this关键字 this.name = name; if(typeof Book._init = "undefined"){ //公有的方法,在原型对象上定义 Book.prototype.setName = function(name){ this.name = name; }; Book.prototype.getName = function(){ return this.name; }; } Book._init = true; }; function ooTest(){ var teacher = new Teacher(); alert(teacher instanceof Teacher); var book1 = new Book("AJAX");//这个new操作相当于创建了一个简单对象,调用了类的构造方法 var book2 = new Book("AJAX1"); alert(book1.getName()); alert(book2.getName()); book1.setName("JAVA"); alert(book1.getName()); alert(book2.getName()); //function上面都有一个原型对象 var proto = Book.prototype; proto.str = "String"; proto.hello = function(){ alert("Hello"); }; //原型对象上定义了属性之后,拥有这个原型对象的function, //它所模拟的类创建出的对象,就可以拥有原型对象上定义的属性 alert(); } </script>
-----------------------------------------------------------------
<script type="text/javascript"> //展示原型对象上定义公有属性的另一个问题 var Teacher = function(){ } Teacher.prototype.student=[]; Teacher.prototype.addStudent = function(sname){ this.student.push(sname); }; Teacher.prototype.showStudent = function(){ alert(this.student); }; function oo4Test(){ var teacher1 = new Teacher(); var teacher2 = new Teacher(); teacher1.addStudent("wang"); teacher2.addStudent("lee"); teacher1.showStudent(); teacher2.showStudent(); alert(); } </script>
- JavaScript数组对象JSON学习笔记.rar (3.3 KB)
- 下载次数: 15
发表评论
-
java 和 javascript split 的区别!
2013-09-18 10:52 1561java 和 javascript split 的区别! ... -
javascrip如何创建命名空间
2013-09-18 10:49 1149看代码,废话不多说! <!DOCTYPE ht ... -
阿里电话面试
2013-09-10 22:16 2455今天晚上接到阿里电话面试! 问到的问题大 ... -
setTimeout 和 setInterval最小执行时间问题
2013-09-08 22:43 16627setTimeout 和 setInterval 经常被用 ... -
IE6用setAttribute添加事件无效
2013-09-08 11:51 1382<!DOCTYPE html PUBLIC &q ... -
javascript中为5种为假的情况测试
2013-05-24 15:42 1235Javascript假的5种情况: Falsy values ... -
javascript中变量声明提升(Hoisting)的理解 ---What is hoisting in Javascript?
2013-05-24 11:24 1347<!DOCTYPE html PUBLIC &quo ... -
添加重置IE outline方法
2013-05-12 23:07 1737css / reset-ie-outline.css ... -
JavaScript中两个等于号和三个等于号之间的区别
2013-05-12 22:41 1147<!DOCTYPE html PUBLIC " ... -
光标充满整个input输入框的方法
2013-03-25 20:11 2719光标充满整个input输入框的方法: 1、不设置行高 --& ... -
javascript的函数参数arguments 并不是数组
2013-03-22 12:34 1444arguments 并不是数组,只是碰巧用数字做索引,以及一个 ... -
弹出层居中问题版1
2013-03-21 22:51 17291、居中弹出层css控制问题版 <!DOCTYPE ... -
隐式块级元素
2013-02-25 14:56 974学无止境。 我自诩xhtml+css玩的炉火纯青,却发现, ... -
javascript中字符串格式json如何转化成json对象
2013-02-13 16:34 12099什么是JSON JSON(JavaScript Object ... -
dreamweaver js代码格式化
2013-02-13 13:33 8573官方提供的扩展 javascript source forma ... -
javascript 内存和性能闲聊
2013-01-14 22:25 1135我想问你这样更省内存,所有的aBtn[i].onclick共用 ... -
JAVA 时间 和 js里面时间的区别
2012-04-13 11:31 2356JAVA 里面处理时间时,只要按照format格式去解析时间, ... -
将双引号(“”) 存入数据库的处理方法
2011-11-15 09:26 2849将双引号(“”) 存入数据库的处理方法: 例如 :“恐男症 ... -
html-href
2011-03-18 09:26 1255<a href="http://www.f ... -
文本值如何变成一个手指
2010-10-13 12:06 971<TD id=td_mod_staff>&l ...
相关推荐
JavaScript数组对象JSON学习笔记,推荐
NULL 博文链接:https://wangweiwei358.iteye.com/blog/689840
JSON 语法是 JavaScript 对象表示法语法的子集。 •数据在名称/值对中 •数据由逗号分隔 •花括号保存对象 •方括号保存数组 JSON 对象 JSON 对象在花括号中书写: 对象可以包含多个名称/值对: { firstName:John ...
javascript中实现对象数组的排序功能 只要数组中的对象存在多个属性,即可传入sql语句排序形式的参数,加以排序,如传入'col1 desc,col2 asc' 就可以实现对数组中对象通过col1倒序排列,如果col1值相同,则通过col2排序,...
今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: ... //取json中的值 2.json对象转为json类型的字符串 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse
本文实例分析了JavaScript类数组对象转换为数组对象的方法。分享给大家供大家参考,具体如下: 1、类数组对象: 拥有length属性,可以通过下标访问; 不具有数组所具有的方法。 2、为什么要将类数组对象转换为数组...
JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)...
因为,JavaScript的数组非常特殊,而且如果你能够理解它,那么对于我们学习JSON对象语法就非常容易理解了--因为JSON就是一个数组--我们也可以把它看成一个Hashtable集合对象!本人认为,理解JavaScript的数组是学习...
javascript读取json数组生成滚动分页 javascript读取json数组生成滚动分页 javascript读取json数组生成滚动分页
我们交换数组可以实现元素上下移动了,这个效果我们在表格或以前排序算法中都会用到,下面来看一个JavaScript下实现交换数组元素上下移动例子 在写项目的时候,要实现一个数组记录上下移动的示例。写起来也没有没...
两个json数组合并去重,以及删除某一项元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C',name:'60'} ]; let hb= [ {id:'H',name:'2'}, {id:'A',name:'6'}, {id:'B',...
JavaScript数组对象Array.pdf 学习资料 复习资料 教学资源
主要介绍了JS遍历JSON数组及获取JSON数组长度操作,涉及javascript简单json数组遍历与运算相关操作技巧,需要的朋友可以参考下
JavaScript数组对象方法.xmind
/** * 本文纯粹是梳理一下目前W3C标准中Array对象的自带Method。 * 全文没啥营养,不过最后性能测试的部分,倒是抛出了一些疑问。 */ 赋值方法 (Mutator methods) 这些方法直接修改数组自身 pop 和 push Array.pop...
JavaScript数组对象Array案例.pdf 学习资料 复习资料 教学资源
JavaScript中数组的一些算法和技巧总结