js,通过字面量访问对象底层是怎么样的,太复杂的字面量对效率有影响吗?

如题,如果有一个

 object = {
}
    for(let i = 0 ; i < 1000 ; i ++ ) {
        object[generator()] = "aaa" ;
    }
function generator (){} //返回一个很长的,不排序的字符串

这个字符串如果太长,或者里面的字符比较复杂有中文有英文也有标点符号的话,会不会对性能有影响,或者在通过 object["已经知道的字符串"]来访问的时候会不会很慢。

不会你想象那么慢,js属性是hadh方式查找,长字符串也会生成对应hash值。
https://segmentfault.com/a/1190000007692754

这个要看底层的实现,对于google v8等现代的js引擎来说,你多虑了,因为它可以很巧妙地将obj[prop]这样的访问通过jit提前编译为静态的绑定,效率和obj.prop是几乎相同的。
如果你有顾虑,可以自己验证下。

s对象基于是hash表存储的,字符串很长会慢点,但不会特别慢
http://www.360doc.com/content/17/0111/15/2793098_621786220.shtml

不会那么慢的,不过你可以generator (){} 返回uuid.