javascript定义对象写法
来源:互联网 发布:程序员注释 编辑:程序博客网 时间:2024/05/23 16:43
javas
1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义
优点:动态的传递参数
缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存
function User1(name, password) {this.name = name;this.password = password;this.login = function(name,password){if(this.name == name && this.password == password) {return true;}else {return false;}};}
2.原型方式,将对象属性及方法定义都写在对象的prototype里面
优点:每次创建对象时都是使用相同prototype中的方法,不会占用重复的内存
缺点:无法动态传递构造参数
function User2() {}User2.prototype.name = "prototype name";User2.prototype.password = "prototype password";User2.prototype.login = function(name,password){if(this.name == name && this.password == password) {return true;} else {return false;}};原型方式的另一种写法:格式:var 对象名 = {};对象名.prototype.变量1=变量1的值; 对象名.prototype.变量2=变量2的值; ……; 对象名.prototype.函数1= function() { 函数体 }; 对象名.prototype.函数2= function() { 函数体 }; ……;说明:(1) 初始对象体内可以不定义任何东西;(2) 在要定义的变量前加“对象名.prototype.”的格式;(3) 对象的内容与值以等号分隔,成对出现;(4) 包含的变量或者函数之间以分号分隔,也可以省去分号。(5) 函数需要写在function(){}的大括号之内。例子:var da ta = {}; da ta.prototype. name ="Vicky”; da ta.prototype. age =20; da ta.prototype. eat = function() { alert(‘I wanna eat meat’); }; da ta.prototype. sleep= function() { alert(‘I wanna sleep’);};
3.构造及原型混合方式,将属性定义写在构造方式里面,方法写在prototype里面
优点:综合了construct及prototype方式的优点,可以动态传递构造参数,并且方法函数对象也只创建一个
缺点:函数写在对象外面,不太符合面向对象的思想
function User3(name,password) {this.name = name;this.password = password;}User3.prototype.login = function(name,password) {if(this.name == name && this.password == password) {return true;} else {return false;}};
4.动态原型方式:加一个判断属性,来判断该对象是否已经被创建过,如果被创建过,则方法就不在构建
优点:将原型函数写在对象定义里面
缺点:不支持继承
function User4(name,password) {this.name = name;this.password = password;if(typeof User4.__initialized == "undefined") {User4.prototype.login = function(name,password){if(this.name == name && this.password == password) {return true;} else {return false;}};User4.__initialized = true;}}
5、JSON方式/对象直接量
格式:
var 对象名 = {
};
说明:
(1)
(2)
(3)
(4)
例子:
var
};
注释:类似的方式也叫做匿名类
匿名类举例:
{
}
上面的方式创建了类,只是没赋给一个变量而已。
6、create方式
该方式利用了Prototype JavaS
格式:
……
});
说明:
(1)
(2)
(3)
(4)
例子:
JS对象的创建正规方法如下:
var d1 = new Da
(1)
(2)
- javascript定义对象写法
- javascript定义对象写法
- javascript定义对象写法
- javascript定义对象写法
- javascript定义对象写法
- javascript定义对象写法
- 引用 javascript定义对象写法(整理)
- JavaScript中对象写法
- Javascript 面向对象写法诠释
- 在Javascript定义对象
- javascript对象定义方法
- javascript对象定义方法
- 在Javascript定义对象
- JavaScript 对象定义
- Javascript定义对象
- javascript对象定义
- 在Javascript定义对象
- JavaScript批量定义对象
- 跟着angularjs2官方文档学习(一)
- 121. Best Time to Buy and Sell Stock
- 方法
- 说说微服务
- iOS:网络编程模式
- javascript定义对象写法
- NPOI 单元格套用公式
- 打包Jar包,混淆Jar包,合并多个Jar包
- 十二上机5
- Spring学习总结(18)——Spring整合Mysql数据库一主多从、多主多从配置
- opengles之3D模型加载(obj模型文件)
- 关于Recycleview的Inconsistency detected. Invalid view holder adapter positionViewHolder
- Unity JSON 序列化
- cocos2dx physics物理引擎碰撞详解