java script4创建对象
来源:互联网 发布:淘宝给商家结算的周期 编辑:程序博客网 时间:2024/06/13 11:31
在java script,所有对象都是从object对象继承过来的,object中的属性是不可枚举的(propertyEnumerable返回false)因此无法通过for…in语句得到其中的属性
在java script中,可以动态添加对象的属性,也可以动态删除对象的属
性
var object = new Object();object("username")="shengsiyuan";alert(object.username);delete object.username;alert(object.username);
在javascript中定义对象的第二种方式:
var object=(username:”zhangsan”,password:123);
alert(object.username);
alert(object.password);
定义数组的两种方式
var array=new Array();
array.push(1);
array.push(2);
array.push(3);
第二种
var array=[1,2,3]
对于jAVA script数组的sort方法来说,它会先将待排序的内容转换为字符串(调用toString)方法,按照字符串的先后顺序进行排序
比如1.3.23.排序结果是1.23.3
java script中定义对象的几种方式(java script中没有类的概念,只有对象的概念)
1.基于已有对象扩充其方法和属性
var object = new Object();//生成一个object类型的对象object.name="zhangsan"; //给对象定义一个属性object.sayName=function(name) //为object对象定义一个方法{ this.name = name; alert(this.name)}
2:工厂方式
1 )不带参数
function creatObject(){ var object = new Object(); object.username = "zhangsan"; object.password = "123"; object.get = function() { alert(this.username+","+this.password();) } return object;}var object1=creatObject();var object2=creatObject();object1.get();
2)让一个函数对象被多个对象所共享,而不是一个对象拥有一个函数对象
function get(){ alert(this.username +"," +this.password);}function creatObject(username,password){ var object = new Object(); object.username = username; object.password = password; object.get=get; return object;}var object = createObject("zhangsan","123");var object2 = createObject("lisi","456");object.get();object2.get();
3 构造函数方式
function Person(){ //在执行第一行代码之前,js引擎会为我们生成一个对象 this.username = "zhangsan"; this.password = "123"; this.goInfo = function() { alert(this.username + "," +this.password); } //此处有一个隐藏的return语句,用于将之前生成的对象返回}var person = new Person();person.getInfo();
可以在构造对象时传参数
function Person(username,password){ this.username = username; this.password = password; this.goInfo = function() { alert(this.username + "," +this.password); }}var person = new Person("zhangsan","123");person.getInfo();
4 原型(”prototype“)方式
function Person(){}Person.prototype.username = "zhangsan";Person.prototype.password = "123";Person.prototype.getInfo = function(){ alert(this.username + ","+this.password);}var person=new Person();var person2=new Person();person.username="lisi";person.getInfo();person2.getInfo();
单纯使用原型方式 定义类无法在构造函数中为属性赋初值,只能在对象生成之后再去改变属性值
如果使用原型方式对象,那么生成的所有的对象会共享原型中的属性,这样一个对象改变了该属性也会反映到其他对象当中。
使用原型+构造函数方式来定义对象,对象之间的属性互不干扰,各个对象间共享同一个方法
function Person(){ this.username = new Array(); this.password = "123";Person.prototype.getInfo = function(){ alert(this.username + "," +this.password)}var p = new Person();var p2 = new Person();p.username.push("zhangsan");ps.username.push("lisi");p.getInfo();p2.getInfo();
5 动态原型方式,,在构造函数中通过标志量让所有对象共享一个方法,而每个对象拥有自己的属性
function Person(){ this.username = "zhangsan"; this.password = "123"; if(typeof Person.flag == "undefined") { laert("invoked"); Person.proyotype.getInfo = function() { alert(this.username + "," +this.password); } Person.flag = true; }}var p = new Person();var p2= new Person();p.getInfo();p2.fetInfo();
0 0
- java script4创建对象
- java对象创建过程
- Effective Java --- 创建对象
- java创建对象数组
- java 创建json对象
- JNI创建Java对象
- java创建对象过程
- java对象创建
- java对象创建
- java创建对象方式
- Java 创建对象
- java string 创建对象
- java 对象的创建
- Java对象创建过程
- Java对象的创建
- Java 创建对象方法
- JAVA 对象创建过程
- Java对象创建过程
- 目标方向:智能家居
- HDU - 3849 By Recognizing These Guys, We Find Social Networks Useful(桥)
- UVA_548Tree
- VC中SDK与MFC的区别浅析
- 欢迎使用CSDN-markdown编辑器
- java script4创建对象
- Unity3D 获得编辑器的Log信息
- fork函数详解
- sublime 一些常用功能和快捷键
- 零java基础搞定微信Server_6:微信公众号的文本消息处理
- 接入ShareSDK过程中遇到的坑
- GridView横向显示 实现图片预览
- hdu 4737 A Bit Fun || 2013 ACM/ICPC Asia Regional Chengdu Online || 简单题
- 机器学习基石学习笔记2 机器学习为什么可行