#yyds干货盘点 歌谣学前端之类笔记2
发布时间:2023-02-10 01:55:12 260 相关标签: # 前端# html# webkit
前言
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣 关注公众号带你进入前端学习交流群
类笔记2
类中的所有代码都会在严格模式下执行
* 严格模式下其中一个特点就是,函数的this不在是window,而是undefined
*
* 注意:
* 在类中方法的this不是固定的
* 以方法形式调用时,this就是当前的实例
* 以函数形式调用,this是undefined
* 在开发时,在有些场景下,我们希望方法中的this是固定的,不会因调用方式不同而改变
* 如果遇到上述需求,可以使用箭头函数来定义类中的方法
* 如果类中的方法是以箭头函数定义的,则方法中的this恒为当前实例,不会改变
代码案例
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>类</title>
<script>
class MyClass{
constructor() {
// this.fn = this.fn.bind(this); 将fn方法的this绑定为当前实例
}
/*
* 类中的所有代码都会在严格模式下执行
* 严格模式下其中一个特点就是,函数的this不在是window,而是undefined
*
* 注意:
* 在类中方法的this不是固定的
* 以方法形式调用时,this就是当前的实例
* 以函数形式调用,this是undefined
* 在开发时,在有些场景下,我们希望方法中的this是固定的,不会因调用方式不同而改变
* 如果遇到上述需求,可以使用箭头函数来定义类中的方法
* 如果类中的方法是以箭头函数定义的,则方法中的this恒为当前实例,不会改变
*
* */
// fn(){
// console.log('-->',this);
// }
fn = () => {
console.log('-->',this);
};
}
const mc = new MyClass();
const test = mc.fn;
mc.fn(); // mc
test(); // undefined
const fn2 = function (){
console.log(this);
};
// fn2();
</script>
</head>
<body>
</body>
</html>
文章来源: https://blog.51cto.com/u_14476028/6037326
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报