从函数更改对象属性

Changing object property from function

本文关键字:对象 属性 函数      更新时间:2023-09-26

我正在学习javascript...不好意思。。。

例:

var car = {
    brand : 'fiat'
}
$(window).resize(function(){
    car.brand = 'audi';
})
console.log(car.brand)

如何获得"奥迪"?

值确实会改变!但是,让我们备份一下。根据 jQuery 关于 resize(( 的 API 文档

当 浏览器窗口更改:

在触发调整大小事件之前,car.brand不会设置为 'audi'。脚本将继续执行,直到结束并记录car.brand的初始值,因为窗口尚未调整大小。

让我给你一个事件的时间表:

  1. car是用'fiat' brand定义的。
  2. 侦听器被添加到windowresize事件中。(该函数未在此处运行car.brand因此与定义时相同。
  3. car.brand的值将记录到控制台。(此时,它已'fiat'

如果要记录值:'audi' ,可以使用如下所示的内容:

var car = {
    brand : 'fiat'
}
$(window).resize(function() {
    car.brand = 'audi';
    console.log(car.brand); // It will log 'audi' here.
})
console.log(car.brand) // It will log 'fiat' here.

在调整窗口大小之前,resize函数内的日志不会运行,因此您将在控制台中看到如下所示的内容:

'fiat'

然后在调整窗口大小后:

'fiat'
'audi'