JavaScript 对象的学习

JavaScript 对象的学习

对象分为对象字面量和对象直接量(plainObject)

js内建多个对象,比如String Date Array等等对象

如何自定义对象

对象的写法

var ff={
		name:"kk",
		age: 0,
  		sex: "女",
		smoke:function(){
		console.log("mklaln");	
	},
		drink: fuunction(){}
	},
}

//调用对象的属性值
	ff.name;
	ff.smoke();  //调用方法并运行

对象内部如何调用自己的属性

var gg={
	name:10;
	bug:function(){
			this.name++;  //this为当前对象的属性值
	}  //此处的this与调用者有很大关系,后期笔记会补充
}

对象的隐式调用

var obj={
		name : "abc"}
//有两种调用方法
obj.name;
obj["name"];  //(隐式调用的 ,内部参数只能是字符串)

对象属性的操作

属性增加

var ff={
		age:10}
	ff.name="jjj";  //给对象增加属性

属性修改/删除操作

ff.age=20;
//使用delete 命令删除对象属性
delete ff.age

对象的方法传参

var kk={
    sex:32,
    change:function(id){
        this.sex+=id;
    }
}
kk.change(10);

自定义对象

构造函数的认识

系统自带的构造函数 Object() Array() Number()…

​ var hh=new Object() 可以返回一构造函数生成对象

​ 返回到当前hh

构造函数的内部原理
function Student(name ,age ,sex){
		  //this相当于内部的函数对象  var this={}
			this.name=name;
			this.age=age;
			this.sex=sex;
		//后面隐式的返回了this对象
		}
var student=new Student("kk",17,"nan");

//在函数体最前面隐式的加上this={}
//执行this.xxx=xxx;
//隐式的返回this

自定义对象:

function Person(){
					//构造函数的写法,与普通函数写法一样
						}
					//人为规定,构造函数名最好以驼峰命名法
					var person1=new Person(); 
					//new一下将该构造函数返回成对象

构造函数的命名规则

如果为构造函数,最好使用驼峰命名法,普通函数随意

function Car(){
					this.name="kkk";
					this.height=100;
					this.weight=10;
					this.run=function(){
						this.name="hhh";	
						}
				}
					var car=new Car();
					var car1=new Car();   //两个对象是不一样的
					//就像同一车间出两辆一样的车,两辆车分别为两个不同对象

这两个对象是不一样的

//如果想改变构造方法里的属性值,可以通过参数来改变
			function Car( color){
					this.color=color;
			}
			var ff=new Car("red");  //向构造函数传参
		//和java雷同

还有一种自定义创建对象的方法

//自定义创建一个对象
//显式创建一个对象
function  Person(name ,height){
var that={};//不使用方法内部this对象
    //自定义一个
That.name=name;
that.heught=height;
Retuen that;
}
var person=Person();

对象私有化变量

function Deng(name, wife){
	var perparety="fffff";  //该变量外部对象是无法访问的
    					//只有内部方法或内部对象可以访问
	this.name=name;
	this.wife=wife;
	this.divorice=function (){
		this.wife=preparety;	
	}
		}
	var deng=new Deng('deng','kkkk');
	因为创建对象时,构造函数会隐式返回一个this对象
	该对象无法操作和访问,只能间接性使用内部属性对其操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值