JS笔记(三):数组、函数、类
2018-07-09 13:47:14来源:博客园 阅读 ()
(一) 数组
1 //创建数组 2 var the_array = [1,2,3,4,'5'] 3 4 console.log(the_array[0]) //读取索引为0的数据 5 the_array[5] = '赋值' //写数据 6 7 //在数组末尾添加一个元素,,允许添加多个数据,例如:the_array.push('1','2') 8 the_array.push('末尾添加一个数据') 9 console.log(the_array) 10 //pop删除数组末尾的数据并返回,和PYTHON列表的POP类似(不同的是JS只能删除末尾的数据) 11 //另外还有shift()和unshift(),shift()删除,unshift()添加1个或多个元素。不同的是,这2个方法操作的数据数组头部的元素 12 console.log(the_array.pop()) 13 //Array.join()连接所有元素并返回一个字符串,都差不多 14 console.log(the_array.join()) 15 A = the_array.join() 16 //String.split()则将字符串拆分为数组 17 console.log(A.split(',')) 18 //另外还有,Array.sort()排序,Array.slice()切片 (例如A.slice(0,3))
(二) 函数调用和方法调用
1 //定义一个函数 2 function f(x,y) { 3 return x*y 4 } 5 //调用函数 6 var x = f(1,2) 7 console.log(x) 8 //创建对象 9 var the_obj = {} 10 //给对象the_obj定义一个名为m()的方法 11 the_obj.m = f 12 //看输出可以发现,对象the_obj的属性m的值是一个函数,这个时候称m()是对象the_obj的一个方法 13 console.log(the_obj) 14 //调用对象the_obj的方法m() 15 console.log(the_obj.m(1,2))
(三) 类
1 //通过工厂函数定义一个类 2 function people(pename,gender,age,hobby) { 3 //通过括号里的(people.methods)和下面13行的people.methods对象定义类公有的方法(行为) 4 //这里创建对象的时候,也可以用自己自定义的函数 5 var r = new Object(people.methods) 6 r.pename = pename 7 r.gender = gender 8 r.age = age 9 r.hobby = hobby 10 return r 11 } 12 //定义该类事物共同的行为(类的方法) 13 people.methods = {getName:function () {return this.pename}, 14 getMultiple:function (x) {return x*x} 15 } 16 var zs = people('张三','男','1000','修道') 17 console.log(zs) 18 console.log(zs.getName()) 19 console.log(zs.getMultiple(2))
1 //通过构造函数定义类 2 //这里遵循一个常见的编程约定,定义构造函数即是定义类,并且类名首字母大写 3 //而普通的函数和方法都是首字母小写 4 function People(pename,gender,age,hobby) { 5 this.pename = pename 6 this.gender = gender 7 this.age = age 8 this.hobby = hobby 9 10 } 11 //属性名必须是prototype 12 //被所有People对象继承 13 People.prototype = {getName:function () {return this.pename}, 14 getMultiple:function (x) {return x*x} 15 } 16 17 var zs = new People('张三','男','1000','修道') 18 console.log(zs) 19 console.log(zs.getName()) 20 console.log(zs.getMultiple(2))
(三) 类的继承
1 //通过构造函数定义类 2 function People(pename,gender,age,hobby) { 3 this.pename = pename 4 this.gender = gender 5 this.age = age 6 this.hobby = hobby 7 8 } 9 //属性名必须是prototype 10 //被所有People对象继承 11 People.prototype = {getName:function () {return this.pename}, 12 getMultiple:function (x) {return x*x} 13 } 14 15 16 //仅定义子类 17 function Boy() { 18 //仅链接到父类 19 //调用父类的构造函数来初始化对象 20 People.apply(this,arguments) 21 22 } 23 //将Boy设置为People的子类 24 Boy.prototype = new People() 25 Boy.prototype.constructor = Boy 26 27 //重写父类的getName()方法 28 Boy.prototype.getName = function () {return this.age} 29 30 var the_boy = new Boy('张三','男','1000','足球') 31 32 console.log(the_boy) 33 console.log(the_boy.getMultiple(2)) 34 console.log(the_boy.getName())
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JS定时器和单线程异步特性
下一篇:ECMAScript面向对象术语
- Jquery插件写法笔记整理 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- JS简单去除数组中重复项的方法 2020-03-16
- 带你了解JavaScript中的函数 2020-03-08
- 关于JS array的数组 2020-03-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash