2011-01-07 38 views
21
var obj = { 
    'foo' : 'bar', 
    'something very, very, very, very long' : 'baz' 
}; 

Bất kỳ giới hạn nào về tên thuộc tính có thể dài bao lâu?Giới hạn về độ dài của thuộc tính javascript là bao nhiêu?

+6

Tôi vừa cố gắng tạo một với hơn 1 triệu ký tự. Làm việc tốt trong chrome. Sẽ giữ cho bạn được đăng nếu tôi đạt đến giới hạn :) –

+0

@David lol! Đó là khá mát mẻ. – Stephen

+1

@ David, nếu bạn đặt câu trả lời đó, tôi sẽ cung cấp cho bạn dấu kiểm. – sprugman

Trả lời

20

Từ các nghiên cứu thực nghiệm ngắn nhất của tôi, không có giới hạn nào được thực thi bởi javascript, ít nhất là không được Chrome triển khai. Nó chỉ đơn giản là một câu hỏi về số lượng bộ nhớ mà máy của bạn cho phép công cụ tập lệnh tiêu thụ trước khi ứng dụng gặp sự cố.

Trong quá trình kiểm tra, quản lý để tạo đối tượng có chứa thuộc tính có tên dài 268 435 456 ký tự, nhưng thử lại ở 536 870 912, trình duyệt của tôi bị lỗi.

Tôi không tin rằng sẽ có ích khi tìm ngưỡng của tôi với độ chính xác cao hơn, vì điều này sẽ chứng minh rằng mọi giới hạn ở đó, hoàn toàn bị áp đặt bởi khả năng của máy hơn thông số kỹ thuật.

Ồ, và tại 67 108 864 ký tự, tôi bắt đầu nhận thấy các vấn đề về hiệu suất khi gán thuộc tính :)

+2

Đặc điểm kỹ thuật không bao gồm giới hạn về độ dài của số nhận dạng vì vậy tôi tin rằng nó chỉ đơn giản là việc thực hiện được xác định. – ChaosPandion

Các vấn đề liên quan