Tôi có một số HTML có chứa một chuỗi JSON. Trong trên DOM sẵn sàng gọi lại, tôi có một cái gì đó như thế này:Làm cách nào để ngăn chặn cảnh báo 'Thuộc tính MyProp1 không bao giờ được xác định trên MyObject'?
MyObject = JSON.parse($('#TheJsonString').html());
Sau đó trong mã của tôi, tôi viết một cái gì đó này:
var SomeVar = MyObject.MyProp1;
Và sau đó khi tôi chạy mã thông qua việc đóng cửa Google trình biên dịch, tôi nhận được cảnh báo
Thuộc tính MyProp1 không bao giờ được xác định trên MyObject.
Mã nên được viết sao cho mã không tạo cảnh báo?
Ok cảm ơn, bây giờ nó hoạt động! Nói chung, có phải "tốt hơn" để sử dụng ký hiệu chấm và ký hiệu khung hoặc chỉ là vấn đề về phong cách/sở thích? Ngoài ra, tôi có kế hoạch sử dụng trình biên dịch google và sau đó reobfuscate mã biên dịch trong jscrambler. Tôi biết điều này sẽ không ngăn cản kỹ thuật đảo ngược nhưng tôi chỉ tìm cách để mua thời gian. Sẽ làm tăng gấp đôi obfuscation? – frenchie
@frenchie Nói chung, ký hiệu dấu ngoặc/chấm là một vấn đề ưu tiên. Tuy nhiên, trong trình biên dịch đóng cửa, ký hiệu khung phải được sử dụng, để bảo toàn tên. Dấu chấm được sử dụng trong đầu ra được biên dịch. Và có, đôi obfuscation thực sự sẽ làm cho kỹ thuật đảo ngược khó hơn. Hãy chắc chắn rằng bạn kiểm tra hiệu suất của mã trước/sau khi obfuscation. –