必知!JavaScript创建对象的三种方式

方式1:调用系统的构造函数创建对象

表达式: var 变量名= new Object();

例子:
			//实例化对象,创建对象
			var obj = new Object();
			//对象有特征和行为 (属性和方法)
			//添加属性-----如何添加属性?          对象.名字=值;
			obj.name = "小明";
			obj.age = 38;
			obj.sex = "女";
			//添加方法----如何添加方法?       对象.名字=函数;   (匿名函数)
			obj.eat = function () {
			       console.log("吃饭,这是一个方法");
			 };
			obj.play = function () {
			            console.log("我喜欢玩飞机模型");
			 };
			console.log(obj.name);//获取--输出了
			//方法的调用
			 obj.eat();
			 obj.play();

方式2:自定义构造函数创建对象

表达式: var 变量名 = new 自定义构造函数
函数和构造函数的区别: 名字是不是大写(构造函数首字母是大写的)

例子:
	        //自定义构造函数
	        function Person(name,age) {
	            this.name = name;
	            this.age = age;
	            this.sayHi=function () {
	                console.log("我叫:"+this.name+",年龄是:"+this.age);
	            };
	        }
	
	        //自定义构造函数创建对象:先自定义一个构造函数,然后new创建对象
	        var obj=new Person("小明",18);
	        console.log(obj.name);
	        console.log(obj.age);
	        obj.sayHi();
	
	        var obj2=new Person("小红",20);
	        console.log(obj2.name);
	        console.log(obj2.age);
	        obj2.sayHi();

方式3:字面量的方式创建对象

例子:
//变量,数组 字面量方式创建的创建
/*    var num = 10;
      var array = []; 
*/
				 var obj = {};   //空对象
				 //添加属性
				 obj.name= "小白";
				 obj.age = 20;
				 //添加方法
				 obj.sayHi = function () {
				       console.log("我是"+this.name+"今年"+this.age+"岁")
				 };      //末尾记得加 ;
				 obj.sayHi();


优化后的写法:
				 /*多个属性方法用逗号隔开,最后的不用加逗号*/
		        var obj = {
		            name:"小明",
		            age:18,
		            sayHi:function () {
		                console.log("我是"+this.name+"今年"+this.age+"岁");
		            },
		            eat:function () {
		                console.log("吃了");
		            }
		        };
		        obj.sayHi();
		        obj.eat();
发布了47 篇原创文章 · 获赞 340 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_44253336/article/details/97914715
今日推荐