js封装函数
来源:互联网 发布:网络114网 编辑:程序博客网 时间:2024/04/30 00:06
js里能否像c#或者java里的类一样,把很多方法封装在这个类里面,然后调用这个方法的时候可以用class.Fun();这样的形式来调用。
求一个最简单的完整的例子(麻雀虽小五脏俱全)。
举个栗子:function Person() { this.name = "jee"; this.age = 25; this.getName = function() { return this.name; }}var person = new Person();alert(person.age);alert(person.getName());1楼的兄弟的例子不错 我想就他的例子稍微深入的讲下 改正一些小的缺陷首先 构造函数中这段代码this.name = "jee";this.age = 25;这样的话 稍显死板 因为每一个对象new出来 name 和 age 都是 “jee” 25那么改进后代码function Person(name,age) { this.name = name; this.age = age; this.getName = function() { return this.name; }}var p1 = new Person("xiaoqiang",1);alert(p1.age); //1alert(p1.name);//xiaoqiangalert(p1.getName());//xiaoqiangvar p2 = new Person("zhangsan",2);alert(p2.age);//2alert(p2.name);//zhangsanalert(p2.getName());//zhangsan那么 接下来 再看 这个方法this.getName = function() { return this.name; }这样写是没问题的 但是 有一点缺陷 就是 每个对象都维护相同的方法实例 而其实它们可以共享此方法 而不必每个对象都生成此示例 在java语言中 面向对象的思想中 有一条 “继承” 既然此方法对于每个对象来说是公用的 那么可以在它的父类中实现 在javascript中继承 是基于原型对象的继承 在原型对象中实现此方法,那么每个对象调用此方法时 首先查看自己是否有此方法 如果有 调用自己的方法 如果没有 去原型对象中查询 调用原型对象的方法 是不是和java中的继承差不多呢?呵呵 看下 改造后的代码function Person(name,age) { this.name = name; this.age = age;}Person.prototype.getName = function(){ return this.name;}var p1 = new Person("xiaoqiang",1);alert(p1.age); //1alert(p1.name);//xiaoqiangalert(p1.getName());//xiaoqiangvar p2 = new Person("zhangsan",2);alert(p2.age);//2alert(p2.name);//zhangsanalert(p2.getName());//zhangsan另外 还有对象字面量的形式构造对象var p1 ={ name:"zhangsan", age:1, getName:function(){ return this.name; } };alert(p1.name);//zhangsanalert(p1.age);//1alert(p1.getName());//zhangsan在这里鉴于篇幅 就不多讲了如果lz想详细了解面向对象的javascript编程 可以建议你看下这两本书:<<javascript 权威指南>>,<<javascript高级程序设计>>
参考地址链接:js如何封装函数,最简单例子
阅读全文
0 0
- js封装函数
- js 函数简单封装
- js 函数封装
- JS继承 封装函数
- 封装js运动函数
- js封装函数
- js封装ajax函数
- JS封装继承函数
- js常用函数封装
- js封装函数
- js封装cookie函数
- 原生JS 封装运动函数
- js封装表单通用函数
- js的一些函数封装
- ajax纯js封装函数
- 原生js封装ajax函数
- js 原生ajax:封装函数
- 原生js---轮播图封装函数
- 【Node.js-5】multer的三种上传情况:单个文件,多个同名文件,多个不同名文件
- Docker安装
- 链式队列创建
- OC基础-02-类和对象
- 实现长按识别webview中的二维码
- js封装函数
- mac下如何激活Intelliji idea
- js简单实现短信验证码界面
- Central Europe Regional Contest 2016 C.Convex Contour
- 系统管理员应该知道的 20 条 Linux 命令
- luoguP1073 最优贸易
- linux下查看多某个IP的寻址路由信息
- C语言之递归篇
- 使用Spring Boot的两种方式