-3

我正在尝试为此全局会话对象中的“参加者”对象的“注释”属性分配一个新值……但是,每当我尝试分配时,该值都不会保留。

从 webkit 中的控制台:

> session['attendee']['notes']
null
> session['attendee']['notes'] = "test"
"test"
> session['attendee']['notes']
null
> window.session['attendee']['notes'] = "test"
"test"
> session['attendee']['notes']
null
> window.session['attendee']['notes']
null

Session 在全局范围内设置如下:

window.session = {};

然后稍后我将分配一个从浏览器的 sql 数据库中提取的对象,如下所示;

window.session['attendee'] = {'name':'mike' ..etc..}

更新:

这是更多控制台信息:

> window.session['attendee']
Object
  address_1: null
  address_2: null
  app_id: 1
  badge_id: null
  budget: null
  city: null
  company: null
  decision_maker: null
  email: null
  first_name: "Anonymous"
  followup: null
  id: null
  is_influencer: null
  is_purchaser: null
  is_user: null
  last_name: ""
  notes: null
  phone: null
  rating: null
  scanned: 1
  state: null
  synced: null
  zip: null
  __proto__: Object
> window.session['attendee'].notes
null
> window.session['attendee'].notes = "TEST"
"TEST"
> window.session['attendee'].notes
null

所以 session.attendee 中有一个对象,而“notes”是该对象中的一个属性,但是给它赋值并不会生效。

4

2 回答 2

4

尝试分配给非对象的属性不会做任何事情。确保分配顺序类似于:

window.session = {};
window.session.attendee = {};
window.session.attendee.notes = "test";
于 2012-04-06T21:03:55.170 回答
1

这对我来说很好。我假设你在做一些愚蠢的事情。

window.session;
window.session = {};
window.session = {attendee:{notes:""}};
window.session.attendee.notes = "awesome";
session.attendee.notes; // "awesome"

以下是控制台中的输出:

window.session;
undefined
window.session = {};
Object
window.session = {attendee:{notes:""}};
Object
window.session.attendee.notes = "awesome";
"awesome"
window.session.attendee
Object
notes: "awesome"
__proto__: Object
于 2012-04-06T21:05:30.363 回答