从函数更改对象属性

时间:2015-03-30 18:34:55

标签: javascript object resize

我正在学习javascript ...抱歉......

示例:

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

console.log(car.brand)

我怎样才能获得#aud;'

2 个答案:

答案 0 :(得分:1)

价值确实改变了!但是,让我们回顾一下。 根据jQuery关于resize()

的API文档
  

当resize事件的大小时,resize事件被发送到window元素   浏览器窗口更改:

在触发调整大小事件之前,

car.brand无法设置为'audi'。脚本将继续执行直到结束并记录car.brand的初始值,因为窗口没有调整大小。

答案 1 :(得分:1)

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

  1. car定义为brand 'fiat'
  2. window resize事件的listener is added。 ( 此功能未在此处运行,因此car.brand保持与定义时相同。
  3. car.brand的值将记录到控制台。 (此时,它是'fiat'。)
  4. 如果要记录值'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'