2011-10-30 13 views
7

Tôi đang sử dụng một số mã hiện có và có dòng này tôi không hiểu. Tôi chỉ biết rằng mặc định có thể được sử dụng như là một phần của một tuyên bố swtich, nhưng không biết nếu có một số sử dụng khác cho nó. Mã hoạt động. Đó là một phần của TurkIt được sử dụng để chạy các chương trình thông qua MTurk của Amazon.Từ khóa mặc định Javascript

function getQuestion(numA, numB) { 
    default xml namespace = "http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionForm.xsd"; 
    var q = <QuestionForm> ... 

Xem default trước câu hỏi xml namespace.

+0

Hoạt động như thế nào? Dòng thứ hai làm gì? Như nó được hiển thị - nó không nên hoạt động. Bạn có chắc chắn rằng không có '_' giữa' mặc định', 'xml' và' không gian tên'? – ZenMaster

+0

dòng thứ hai là một 'SyntaxError', nếu điều này làm việc ở tất cả, đó là vì nó đang được chuyển thành javascript thực không được chạy như vậy. – Esailija

+0

@Esailija - Không nhận được một cú pháp ở đây trong FF 7.0.1: http://jsfiddle.net/Ka833/ –

Trả lời

14

default xml namespace là chỉ thị ECMAScript for XML (E4X).

E4X là một phần mở rộng cho ECMAScript cho phép bạn xử lý XML như một kiểu nguyên thủy (đó cũng là những gì đang xảy ra với phần var q = <QuestionForm> ...). Bộ chỉ thị default xml namespace (Như bạn có thể mong đợi) vùng tên XML mặc định cho cùng phạm vi với chỉ thị.

SpiderMonkey của Mozilla (công cụ được Firefox và các trình duyệt Gecko khác sử dụng) và Rhino là các công cụ JavaScript duy nhất mà tôi biết về hỗ trợ E4X, nhưng dựa trên ECMAScript ActionScript 3 also does. Tôi cho rằng TurkIt được thiết kế để chạy trên Rhino.

+0

Có, nó sử dụng Rhino. Cảm ơn rất nhiều. – user994165