【学习笔记】JavaScript方法
定义方法
什么是方法?
方法是把函数放在对象的里面,对象只有两个东西:属性和方法
var Wzt = {
name:'wzt',
birth:2000,
age:function () {
var now = new Date().getFullYear();
return now - this.birth;
}
}
其中age就是对象Wzt中的方法
调用对象的属性:Wzt.name,调用对象的方法:Wzt.age() 一定要带()
this
代码中的 this 代表什么? 可以试着把上面的代码拆开看看
function getAge() {
var now = new Date().getFullYear();
return now - this.birth;
}
var Wzt = {
name:'wzt',
birth:2000,
age:getAge
}
把方法拿到外面来,变成函数,然后age调用这个函数
有两种调用方式:
Wzt.age()这样调是可以的
还有一种是直接调用getAge()
结果却是NaN,原因是getAge()中的this无法指向
this默认指向调用它的那个对象,这里指向的是window,window是没有birth的,所以结果是NaN
-
apply
在js中可以控制this的指向
它有两个参数,一个 是要指向的对象,一个是参数
function getAge() { var now = new Date().getFullYear(); return now - this.birth; } var Wzt = { name:'wzt', birth:2000, age:getAge } getAge.apply(Wzt,[])
代码中this指向了Wzt,参数为空
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!