gpt4 book ai didi

javascript - 对象的属性在更改时激活功能?

转载 作者:行者123 更新时间:2023-11-29 19:53:19 25 4
gpt4 key购买 nike

我有一个对象,在这个例子中是一辆法拉利。当使用 ferrari.speed = 90; 改变速度时,比如说,我希望这个属性对改变做一些事情,例如使用函数改变屏幕上法拉利的速度。

我想知道最简单、最不疯狂的方法是什么?

这是一个 jsfiddle:

http://jsfiddle.net/qhV7B/3/

<button id="addspeed">speed up!!</button>
<button id="checkspeed">Check the speed!</button>


function car(){
speed: 0;
//Do something about speed change here? if its changed at all, greater or smaller?
}
document.getElementById('addspeed').onclick = function speedchange(){
ferrari.speed++;
}
document.getElementById('checkspeed').onclick = function checkspeed() {
alert(ferrari.speed);
}
var ferrari = new car();
ferrari.speed = 10;

最佳答案

Set operator 就是你要找的 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/set

这是我的解决方案 http://jsfiddle.net/qhV7B/6/ .

function car(){
}

car.prototype = {
hidden_speed: 0,
set speed(v){
//special action
alert("I changed value to " + v);
this.hidden_speed = v;
},
get speed(v){
return this.hidden_speed;
},
};

var ferrari = new car();
ferrari.speed = 10;

document.getElementById('addspeed').onclick = function speedchange(){
ferrari.speed = (ferrari.speed + 1);
}
document.getElementById('checkspeed').onclick = function checkspeed() {
alert(ferrari.speed);
}

关于javascript - 对象的属性在更改时激活功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com