Tôi có một số mã hiện có trông như thế này.
Nội dung chính
Show
- Cách sử dụng
- Ví dụ thực hiện
i = new Function("obj", "_", s);
Tham số S chứa mã JavaScript có thể thực thi, dưới dạng chuỗi. Vào thời điểm sau trong phương pháp, nó được gọi là giống như
i.call(this, e, v)
Tôi nhận được một lỗi CSP cho unsafeeval cho dòng chức năng mới. Làm thế nào để tôi giải quyết điều này sao cho việc Eval không an toàn không xuất hiện trở lại? Xin vui lòng giúp đỡ.
Về cơ bản những gì tôi đang cố gắng làm là, tôi có một ứng dụng của bên thứ ba mà tôi đã định vị để sửa lỗi đánh giá cho CSP.
Tại sao chức năng mới gây ra lỗi Eval không an toàn?
hỏi ngày 27 tháng 4 lúc 17:21Apr 27 at 17:21
6
Như @james đã đề cập, new Function("obj", "_", s)
đánh giá phần s
và tạo chức năng dựa trên chuỗi.
Nó thực sự phụ thuộc vào những gì s
ở đây. Nó có được tính toán động?
- Nếu không, thì bạn chỉ có thể sao chép
s
dưới dạng mã thực:
const i = function(obj, _) {
// paste s here
}
- Nếu có, bạn sẽ phải liệt kê rõ ràng tất cả các triển khai có thể. Ví dụ:
const i = function(obj, _) {
if (xxx) {
// implementation 1
} else if (xxx) {
// implementation 2
}
}
Đã trả lời ngày 30 tháng 4 lúc 0:34Apr 30 at 0:34
Zzzzzzzzz
8958 Huy hiệu bạc12 Huy hiệu đồng8 silver badges12 bronze badges
Phương thức & nbsp; ________ 11 bạn chức năng tính toán biểu thức toán học
BÀi VIếT NÀY ĐượC ĐÓfreetuts.net, không được copy dưới mọi hình thức.
Nếu Tham Số Truyền Vào là một Biểu thức Toán Học, phương thức Sẽ Tính Toàn Và tr
Nếu Tham số truyền vào
Tóm Tắt
Cú phápp
Cú Phá: & nbsp; ________ 12:
i.call(this, e, v)
2
BÀi VIếT NÀY ĐượC ĐÓ
In which::
- Chuỗi đó là thể Là 1 có thể là 1 biểu thức toán học hoặc là các câu lệnh javascript.
Cách sử dụng
Tham Số Truyền Vào là một Biểu thức Toán Học.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <h2>Học lập trình miễn phí tại freetuts.net</h2> <button onclick="myFunction()">Run</button> <p id="demo"></p> <script> function myFunction() { var content = ' 4 + 5 = ' + eval('4 + 5') + '<br>'; content = content + ' 4 x 5 = ' + eval('4 * 5') + '<br>'; content = content + ' 4 - 5 = ' + eval('4 - 5') + '<br>'; content = content + ' 4 : 5 = ' + eval('4 / 5') + '<br>'; document.getElementById("demo").innerHTML = content; } </script> </body> </html>
Kết quả
4 + 5 = 9 4 x 5 = 20 4 - 5 = -1 4 : 5 = 0.8
Tham số truyền vào
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <h2>Học lập trình miễn phí tại freetuts.net</h2> <button onclick="myFunction()">Run</button> <p id="demo"></p> <script> function myFunction() { eval(alert('hello everyone!'), alert('this is freetuts.net')); } </script> </body> </html>
Kết quả:
Các Đoạn MÃ JavaScript Sẽ ĐA
Tham khảo: w3schools.com
Phương thức replace() dùng để tìm kiếm và thay thế chuỗi, cụ thể là replace() có nhiệm vụ tìm xem trong chuỗi dữ liệu có chuỗi nào thỏa mãn chuỗi mẫu hoặc chuỗi muốn thay thế không, nếu có thì nó sẽ tiến hành thay phần chuỗi tìm thấy đó bằng chuỗi mới. Nếu dùng bổ từ i thì replace() chỉ tìm kiếm và thay thế xong rồi nó sẽ kết thúc, còn nếu dùng bổ từ g thì việc tìm kiếm và thay thế sẽ diễn ra trên toàn bộ chuỗi dữ liệu. replace() dùng để tìm kiếm và thay thế chuỗi, cụ thể là replace() có nhiệm vụ tìm xem trong chuỗi dữ liệu có chuỗi nào thỏa mãn chuỗi mẫu hoặc chuỗi muốn thay thế không, nếu có thì nó sẽ tiến hành thay phần chuỗi tìm thấy đó bằng chuỗi mới. Nếu dùng bổ từ i thì replace() chỉ tìm kiếm và thay thế xong rồi nó sẽ kết thúc, còn nếu dùng bổ từ g thì việc tìm kiếm và thay thế sẽ diễn ra trên toàn bộ chuỗi dữ liệu.
CÚ PHÁP
var string = oldstring.replace(chuỗi_mẫu hoặc chuỗi_muốn_thay, chuỗi_mới);
VÍ DỤ
var str1 = “I am feeling blue”.replace(/blue/, “upbeat”); ( str1 is assigned: “I am feeling upbeat.”)
( str1 is assigned: “I am feeling upbeat.”)
Ví dụ thực hiện
The replace() Method 1 var myString=”Tommy has a stomach ache.”2 var regex = /tom/i; //tìm kiếm một lần3 var newString=myString.replace(regex, “Mom”); document.write(newString +””);
The replace() Method