JavaScript—对象,函数

一对象

  • 什么是对象?
    1.多个数据的封装体
    2.用来保存多个数据的容器
    3.一个对象代表现实中的一个事务
let obj={
name:'lily',
age:20
}
  • 为什么要使用对象?
    1.统一管理多个数据
  • 对象的组成?
    1.属性:属性名和属性值
    2.方法:一种特殊的属性,属性值是方法
let obj={
   name:'lily', //属性
   age:20, //属性
   getname:function(){ //特殊属性:方法
   return this.name
   },
   setName:function(name){//特殊属性:方法
   this.name=name
}
  • 如何访问对象内部数据?
    1…(点)属性名
    2.[“属性名”]
let obj={
name:'lily',
age:20
}
console.log(obj.name) // lily
let name='name'
console.log(obj[name]) // lily

二函数

什么是函数?
  • 实现特定功能的n条语句封装体。
  • 只有函数可以执行。
function getName(){
	console.log('函数体执行语句')
}
getName() //函数体执行语句
为什么要用函数?
  • 提高代码复用
  • 便于阅读交流
function getName(name){
   console.log(name)
}
// 只要每次调用方法,就可以执行函数体内逻辑
getName('lily') //lily
getName('coco') //coco
如何定义函数?
  • 函数表达式
let getName=function(){}
getName()
  • 函数声明的方式
function getName(){}
getName()
如何执行调用函数?
  • 直接调用
let getName=function(){
console.log(111)
}
// 直接调用
getName() //111
  • 通过对象调用
let obj ={
name:'lily',
getName:function(){
	return this.name
  }
}
// 通过对象调用
obj.getName() //lily
  • new调用
new getName()
  • 让函数成为对象的方法进行调用
let obj={
name:'lily'
}
function getname(){
console.log(this.name)
}
getname.call(obj) // this

三回调函数

什么是回调函数?

特点:

  • 我们自己定义的
  • 我们没有调用
  • 但是执行了
(function (){
console.log(111) // 111
})()
常见的回调函数
  • dom事件回调函数
  • 定时器
  • ajax请求回调函数
  • 生命周期回调函数

匿名函数自调用

作用
隐藏实现
不会污染外部命名空间(全局环境)
用它来编码js模块

函数中的this

this是什么

任何函数本质上都是通过某一个对象调用的,如果没有指定就是window
所以函数内部都有一个变量this
它的值是调用函数的当前对象

如何确定this值

如下例子
test():window
p.test():p
new test();创建新对象
p.call(obj):obj

function per(name){
	console.log(1,this)
	this.getName=function(){
		console.log(2,this)
		return this.name
	}
	this.setNmae=function(name){
		console.log(3,this)
		this.name=name
	}	
}
per('lily')//1,window
let p=new per('lily') // 1,window
let obj={}
p.setNmae.call(obj,'lily')//3,obj
let test=p.setNmae
test()//3,window
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值