js对象学习

1 对象基础知识

初级和中级的分水点:面向对象(类、原型和原型链)

平时使用的json都是new Object()缩写

var json=new Object();
var json2={};
console.log(json,json2)//都一样

字面量:字面上显示的东西就叫做字面量 

var a1='abc'  
console.log(a1)//abc

包装类:没有new的函数声明就是包装类,不是对象 

var a3=String('abc')

什么是对象?

  1. 只要是对象就可以有自己的私有属性  obj.a=10;
  2. 只要是new出来的都是对象  var obj=new String()等等
  3. 不同对象肯定不相等,就算长得一样也不相等  var a={a:10};var b={a:10}; console.log(a==b)//false
  4.  对象都会有引用机制,如果不想引用就重新赋值
                  let a=[1,2,3]
			let b=a;
			b.push(4)
			console.log(a)//[1,2,3,4]
			
		   
		   let a={};
		   let b=a;
		   b.c=10;
		   console.log(a)//{c: 10}
		   
		   
		   var arr2=[1,2,3]
		   function show(arr){
			   arr.push(1)
		   }
		   show(arr2)
		   console.log(arr2)//[1, 2, 3, 1]

delete只可以删除对象的属性,删不了对象。想删除对象可以直接把对象赋值给null

var a={b:10};
delete a.b;
console.log(a)

function函数也算是对象

面向对象最有用的就是私有属性

 

2 this指向

①普通函数--指向window

function show(){
    console.log(this)
}
show()//window

②有事件源指向事件源本身

document.onclick=function(){
	console.log(this)
}

③在定时器下除es6 this指向window

④在对象下this指向的是自己本身

let json={
		a:function(){
			console.log(this);
		}
}
json.a()

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值