cuốn sách gpt4 ai đã làm

Có sự khác biệt nào giữa dấu ngoặc đơn/đôi nếu không có gì thoát không?

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 22:43:37 26 4
mua khóa gpt4 Nike

Theo như tôi biết,'mars%22%3A%22'"mars%22%3A%22" là tương đương vì không có gì được thoát.

Tôi đã tạo dấu trang javscript được một thời gian. Một lần, khi dán nguyên trạng vào dấu trang trong Chrome, nó đã ngừng hoạt động.

Sau nhiều lần đoán và kiểm tra, tôi đã tìm ra giải pháp:
Một cặp dấu ngoặc kép phải là dấu ngoặc đơn. Tại sao?

Dòng Split() sau đây có dấu ngoặc đơn bên trong sẽ không gây ra bất kỳ vấn đề nào trong bookmarklet:

LoadDoc("/page1/" + aArray[i].href.split('mars%22%3A%22')[1].slice(0,7),i);

Dòng trích dẫn kép đầy đủ sau đây sẽ khiến bookmarklet hoàn toàn không chạy:

LoadDoc("/page1/" + aArray[i].href.split("mars%22%3A%22")[1].slice(0,7),i);

Không có lỗi nào được hiển thị trong bảng điều khiển.

Lưu ý rằng phiên bản được trích dẫn kép sẽ hoạt động tốt nếu được dán trực tiếp vào bảng điều khiển JavaScript!

Tôi không hiểu điều gì?

câu trả lời hay nhất

JavaScript không phân biệt dấu ngoặc đơn và dấu ngoặc kép như các ngôn ngữ như Ruby (trong đó chuỗi nội suy chuỗi và chuỗi thoát dấu gạch chéo ngược chỉ hoạt động trên chuỗi dấu ngoặc kép). Cả hai loại trích dẫn đều có cùng ý nghĩa trong JavaScript.

Sự khác biệt duy nhất là cho dù bạn sử dụng loại dấu ngoặc kép nào, bạn không thể sử dụng cùng một dấu ngoặc kép trong một chuỗi trừ khi bạn thoát chúng bằng dấu gạch chéo ngược hoặc mã hóa URL chúng.

Đối với bookmarklet của bạn, trình duyệt sẽ quét toàn bộ javascript:... Thoát khỏi chuỗi URL. Bạn có thể sử dụng javascript:alert('foo%22bar') Đợi một trường hợp đơn giản được kiểm tra, nó sẽ nhắc nhở văn bản thanh foo.

Vì vậy, chuỗi của bạn sao hỏa%22%3A%22 sẽ được chuyển đổi thành sao hỏa: //. Vì có dấu ngoặc kép trong chuỗi nên nó chỉ có thể được sử dụng bên trong chuỗi dấu ngoặc đơn.

Nhân tiện, linh cảm của tôi có chính xác là bạn có thể đang cố phân tích cú pháp hoặc thao tác văn bản JSON ở đây không? Nếu có thì tốt hơn nên sử dụng JSON.parse() thay vì các hoạt động chuỗi thô.

Về javascript - có sự khác biệt nào giữa dấu ngoặc đơn/đôi nếu không có gì thoát không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38579432/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress