<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
font-family: "Microsoft YaHei", serif;
}
body, dl, dd, p, h1, h2, h3, h4, h5, h6 {
margin: 0;
}
ol, ul, li {
margin: 0;
padding: 0;
list-style: none;
}
img {
border: none
}
</style>
</head>
<body>
<div id="wrap">123</div>
<script>
// 函数的this指向是执行的时候决定的
// 自执行的函数指向上一层(window)
// 被动执行指向事件
// call可以改变this指向
let obj = {name:"zhangyu"};
function a(x,y) {
console.log(x + y);
console.log(this);
}
a.call(obj,1,2); //第一个参数是this的指向 从第二个往后是参数
// 这个用bind最合适了
(function () {
let oWrap = document.getElementById("wrap");
// 想要实现点击 字体变大
// 函数在下边已经写好了
// 在这里直接调用没有办法加() 加了括号就主动执行了 所以没有办法传参
oWrap.onclick = function () { // 所以用了function套function
// 这里的被动函数(就是上边这个)指向的是事件主体
changeSize.call(this,30) //这个地方使用call 被动函数的this传给了被调用函数的this
};
function changeSize(size) {
this.style.fontSize = size + "px"; //所以 由于用call执行并且赋值给了新的this指向
// 所以现在这里的this 和上边的function的this指向一样
}
})();
// 用bind最合适
</script>
</body>
</html>
Python3Turtle