>> סאַם גרין: הי, אַלעמען.
ברוכים הבאים צו אונדזער סעמינאַר.
מיין נאמען איז סאַם.
יו זאַבריסקיע: איך בין יו.
סאַם גרין: און מיר רע געגאנגען צו רעדן הייַנט וועגן דזשאַוואַסקריפּט און די וועב אַודיאָ אַפּי.
נאָר צו אָנהייבן אויס, דעם איז אַ אַוטליין פון אונדזער אַגענדאַ פֿאַר די סעמינאַר.
מיר רע געגאנגען צו אָנהייבן דורך גערעדט וועגן וואָס איר זאָל זיין אינטערעסירט אין די וועב
אַודיאָ אַפּי, וואָס איז דזשאַוואַסקריפּט די שפּראַך איר דאַרפֿן פֿאַר אים,
און דעריבער רעדן וועגן דזשאַוואַסקריפּט עססענטיאַלס-- אַזוי ווי,
גיין איר דורך עטלעכע באַסיקס פון דער שפּראַך,
און דעריבער רעדן וועגן די אַודיאָ אַפּי אין אַ הויך מדרגה.
דערנאך, יו וועלן רעדן וועגן עטלעכע פון די סטאַגעס פון אַודיאָ פּראָדוקציע
און דעמאָלט דעמאָ דעם אָסאַם סעקווענסער פּרויעקט ער געבויט און ווייַזן איר די קאָד.
און דעריבער, מיר וועט האָבן צייַט פֿאַר שאלות אין די סוף פֿאַר מענטשן
וואס זענען דאָ לעבן.
>> יו זאַבריסקיע קיל.
>> סאַם גרין: קיל.
>> יו זאַבריסקיע קיל.
איך וועל צוריק אַרויף.
>> סאַם גרין: אַזוי, ערשטער זאכן ערשטער.
אזוי איינער פון די גרויס זאכן וועגן די וועב אַודיאָ אַפּי
איז אַז עס ס ניט שטעלן אַרויף required.
עס קומט געבויט-אין צו רובֿ מאָדערן בראַוזערז,
כולל קראָום, ברעג, אַ גאַנץ בינטל פון אָטהערס-- אַלע די אָנעס
אַז גרויס פּאָרשאַנז פון מענטשן זענען ניצן הייַנט.
אַזוי עס ס ניט שטעלן אַרויף, באַזונדער פון נאָר געטינג
אַ וועב סערווירער געגאנגען, פֿאַר איר צו באַקומען סטאַרטעד ארבעטן
אויף דיין פּרויעקט, וואָס איז גרויס.
>> מיר רעקאָמענדירן שיין שווער אַז איר באַטראַכטן
ניצן קראָום פֿאַר דזשאַוואַסקריפּט וועב אַנטוויקלונג,
נאָר ווייַל זייַן דעוועלאָפּער מכשירים זענען טאַקע שטאַרק.
ווי אַ בייַשפּיל פון פּונקט וואָס מיר מיינען דורך זאגן עפענען אַרויף דיין דזשאַוואַסקריפּט
קאָנסאָלע-- אויב איר גיין אין קראָום און איר קוק אין קיין וועב בלאַט,
און איר לינקס גיט דורכקוקן עלעמענט, און דעמאָלט
איר גיין צו דעם קליין קאַפּ-אַראָפּ רעכט דאָ און איר דריקט אויף קאַנסאָול,
איר וועט זען וואָס אָפּענס אַרויף קוקט אַ פּלאַץ ווי אַ באַפֿעל פּינטלעך אַז איר
זאל זען אויף אייער מעק, אָדער אויף די שייַן.
און פּונקט ווי אַז, מיר קענען טיפּ קאַמאַנדז דאָ, ווי קלאָר,
און אנדערע קאַמאַנדז ווי אַז.
מיר קענען מאַכן וועריאַבאַלז, ווי מיר וועט זען שפּעטער אין דזשאַוואַסקריפּט.
און אַזוי עפּעס מיר קענען טאָן אין דזשאַוואַסקריפּט, מיר קענען טאָן מיט די קאַנסאָול,
און אַז ס אַ סופּער האַנטיק וועג צו אָנהייב פּלייינג אַרום מיט אַפּיס
און געטינג באַקוועם מיט דזשאַוואַסקריפּט רעכט אַוועק די פלעדערמויז.
קיין שטעלן אַרויף required, וואָס איז טאַקע פייַן.
קיל.
אָסאַם.
>> אזוי נאָר איינער מער זאַך צו לייגן.
אויב איר האָבן קיין קוועסטיאָנס-- עס זענען פילע פון ​​איר וואס זענען נישט דאָ לעבן,
פילן Free צו בליצפּאָסט וס-- די זענען אונדזער email ווענדט.
אויב איר האָבן שאלות איר טאָן ניט ווילן צו פרעגן אונדז,
ווי, טאַקע איך האָבן אַ זשוק אין מיין קאָד, אָדער עפּעס
אַז ס אַ ביסל מער ספּעציפיש, אפֿשר גוגל עס ערשטער.
עס זענען אַ פּלאַץ פון גרויס רעסורסן וועגן די וועב אַודיאָ אַפּי אויס דאָרט.
עס ס טאַקע ווויל דאַקיאַמענטאַד און עס ס ווייל
געניצט דורך אַ טאָן פון מענטשן אין אינדוסטריע, און מענטשן וואס זענען פּונקט
בנין שפּאַס שטאָפּן פֿאַר זיך.
אַזוי עס זאָל זיין אַ פּלאַץ פון רעסורסן אויס דאָרט.
אָסאַם.
>> קיל, אַזוי וואָס די וועב אַודיאָ אַפּי?
דאס דיאַגראַמע איז אַ קליין ביסל פון אַ עוואָלוציע פון ​​די וועג
געזונט אויף די וועב האט דערוואַקסן איבער צייַט.
Bgsound איז ווי דער אָריגינעל HTML קוויטל אַז Internet Explorer געניצט צו שטיצן.
עס נאָר ערלויבט פֿאַר שיין יקערדיק סאָונדס, די פונקטיאָנאַליטי איז נישט זייער געזונט,
און איר קען נישט טאָן קאָמפּליצירט סיקוואַנסינג,
אָדער קאָנטראָל ווען געזונט סטאַרטעד און סטאַפּט זייער ראָבוסטלי.
אַזוי, עס איז נישט דער הויפּט געזונט דעוועלאָפּעד.
און נאָך אַז, בליץ געקומען אַלאָנג-- וואָס,
איך בין זיכער אַז איר גויס זענען אַלע באַקאַנט מיט פלאַש-- אפֿשר נישט ווי עס אַרבעט,
אָבער איר ווע אַוואַדע געזען עס.
איר ווע גאַט צו דערהייַנטיקן דיין בליצן צאַפּן-אין, אַלע וואָס מין פון שטאָפּן,
און אַז זיכער עקסטענדעד די קייט פון פונקטיאָנאַליטי וואָס איז בנימצא.
אבער מאכן דער באַניצער ינסטאַלירן אַ צאַפּן-אין איז באשטימט
אַ שטערונג צו כולל בליצן אין אייער אַפּלאַקיישאַן, רעכט?
ווייַל דעמאָלט איר ניטאָ אָפענגיק אויף די באַניצער געגאנגען און דערגייונג דעם צאַפּן-אין,
און מיסטאָמע ווייל אויסגעדרייט אַוועק דורך דעם עקסטרע שריט
זיי האָבן צו נעמען צו נוצן דיין אַפּ.
און דעמאָלט עס קען זיין אַ דערהייַנטיקן אַז וועט ברעכן דיין גאַנץ אַפּלאַקיישאַן,
און עס ענדס אַרויף ווייל אַ נייטמער פֿאַר די דעוועלאָפּער, צו.
אַזוי אַז איז געווען אַ בעראַקייד.
>> און דעמאָלט נאָך אַז געקומען צוזאמען, די HTML אַודיאָ צעטל, וואָס
איז אַ שטריך פון מער מאָדערן הטמל-- וואָס אַוואַדע ערלויבט פֿאַר אַ פּלאַץ מער שטאָפּן,
אָבער אַפֿילו די זאכן איר געקענט טאָן עס זענען אַ ביסל באגרענעצט נאָר
ווי אַ רעזולטאַט פון די זאכן אַז HTML איז טויגעוודיק פון.
אַזוי ווען די דזשאַוואַסקריפּט אַפּי, די וועב אַודיאָ אַפּי,
געווארן אַ נאָרמאַל פיר אַריבער בראַוזערז,
אַז טאַקע בראָדאַנד די שטעלן פון אַפּערטונאַטיז פֿאַר דעוועלאָפּערס
צו טאַקע באַקומען אין בנין קיל שטאָפּן פֿאַר די וועב.
פֿאַר אַ לאַנג צייַט עס האט געווען טאַקע געזונט מכשירים
פֿאַר געבוירן אַודיאָ אַפּלאַקיישאַנז, ליקע-- אַלעמען ווייסט גאַראַגעבאַנד,
און דעמאָלט דאָך עס זענען מער פאַכמאַן אַודיאָ מיקסינג אַפּלאַקיישאַנז,
און וואָס מין פון שטאָפּן.
אבער עס איז נישט אַ טאַקע גוט קלאָוד-- נישט
וואָלקן, יאָ, איך טרעפן קלאָוד-- וועב-באזירט פּלאַטפאָרמע
אַז וואָלט לאָזן דעוועלאָפּערס צו בויען אַפּלאַקיישאַנז פֿאַר מענטשן
צו טאָן אַודיאָ מיקסינג.
און ווי ער וועט ווייַזן איר שפּעטער, די וועב אַודיאָ אַפּי
אַלאַוז פֿאַר טאַקע שטאַרק שטאָפּן צו פּאַסירן טאַקע נאָר,
וואָס איז שיין קיל.
אַזוי אַז ס די לימעד צו וואָס איר זאָל היטן די מנוחה פון דער סעמינאַר,
בייסיקלי.
>> און איצט, איך בין געגאנגען צו רעדן וועגן עטלעכע דזשאַוואַסקריפּט-- נאָר גרונט יסודות
פון דער שפּראַך, אַזוי אַז מיר קענען זיין אויף דער זעלביקער בלאַט
ווען מיר רעדן וועגן די אַפּי אַ ביסל שפּעטער.
קיל.
>> אַזוי, דעם איז אַ קיצער.
איך Forgot דעם איז דאָ.
יאָ.
>> יו זאַבריסקיע: עס ס צוויי סליידז דאָ.
>> סאַם גרין: דאס איז די קיצער פון עטלעכע פון ​​די לימיטיישאַנז
פון די אנדערע ביינדינג, אַלט מעטהאָדס.
און דעריבער איצט, מיר האָבן די זאכן.
קיל.
אָסאַם.
>> אַזוי, דזשאַוואַסקריפּט עססענטיאַלס.
ערשטער דאס ערשטער, עס ס אַ שיין באַטייַטיק חילוק
אין דזשאַוואַסקריפּט קעגן אין אַ שפּראַך ווי C, אין די וועג
וואָס וועריאַבאַלז זענען Created.
אַזוי אין C, מיר ניטאָ געניצט צו ווייל צו דרוקן אונדזער וועריאַבאַלז, רעכט?
און איך טאָן ניט מיינען טיפּ ווי טיפּ זיי אין, איך מיינען טיפּ
ווי באַשטימען זיי אַ טיפּע-- טייַטש ווי, אַ ינט, אַ לאָזנ שווימען, אַ טשאַר.
אין C, מיר זענען טאַקע געוויינט צו ווייל צו שאַפֿן אַ בייַטעוודיק
און דעמאָלט שטעקן צו אַז טיפּ פֿאַר די גאנצע צייַט אַז מיר נוצן אַז בייַטעוודיק.
און וואָס איז ניט דאַווקע ערגער, אָבער עס ס מיסטאָמע האַרדער צו נוצן.
איינער פון די קיל פֿעיִקייטן פון דזשאַוואַסקריפּט איז
וואָס וועריאַבאַלז זענט וואָס ס גערופֿן "דינאַמיקאַללי טייפּט," וואָס
מיטל אַז איך קענען שאַפֿן אַ בייַטעוודיק מיט וואָס סינטאַקס,
וואַרקס יקוואַלז 5, פֿאַר משל.
אַז ערידזשנאַלי קריייץ אַ ינטאַדזשער וואַריאַבלע--
רעכט ונטער דער קאַפּטער סאָמעווהערע-- אָבער איך
קענען ענדערן אַז בייַטעוודיק צו אָפּשיקן צו אַ שטריקל
אָן טאן עפּעס ווי קריייטינג אַ נייַ בייַטעוודיק.
איך טאָן ניט דאַרפֿן צו זאָרג וועגן דעם טיפּ טשאַנגינג.
דזשאַוואַסקריפּט ווייסט אַז די טיפּ ס געביטן, און וואָס כאַפּאַנז דינאַמיקאַללי.
>> אַזוי, עס זענען Benefits און דראָבאַקס צו אַז,
ווי ווער עס יז ווער ס געארבעט אין דזשאַוואַסקריפּט פֿאַר אַ בשעת זאל וויסן.
עס זענען מאל ווען איר זאל אַקסאַדענאַלי
טוישן דעם טיפּ פון אַ בייַטעוודיק און ניט שעפּן אַז טיפּ טשאַנגינג,
און דעמאָלט דיין דזשאַוואַסקריפּט קענען קראַש-- אָדער אַ ויסנעם
ווערן, ווייַל איר וועט האָבן די אומרעכט טיפּ ווען איר דערוואַרטן איין טיפּ.
קיל.
>> אַזוי, סקאָפּינג-- וואָס איז ווי, אויב מיר געדענקען די פרי וואָכן אין דעם קורס,
רעפערס צו ווי קענטיק אַ בייַטעוודיק איז און אין וואָס געגנט פון די קאָד.
כל פון וואָס קוקט זייער ענלעך צו די וועג עס קוקט אין סי
אַזוי וועריאַבאַלז זענען סקאָפּעד בכלל ין געגרייַזלט ברייסאַז ין אַ פֿונקציע,
און דעמאָלט עס זענען אויך גלאָובאַלי-סקאָפּעד וועריאַבאַלז אַז
אַרע-- אויב איר שרייַבן אַ בייַטעוודיק אַרויס פון אַ פֿונקציע,
עס וועט זיין קענטיק אין די גאנצע טעקסט.
>> איין חילוק צווישן דזשאַוואַסקריפּט און C אין באַזונדער,
איז אַז אויב איר דערקלערן אַ גלאבאלע בייַטעוודיק ערגעץ אין אַ טעקסט טעקע
עס ס קענטיק אין קיין פֿונקציע ין אַז טעקסט טעקע.
אַז ס ריכטיק, רעכט?
>> יו זאַבריסקיע: יאָ.
>> סאַם גרין: אזוי אַז ס אויך אַ ביסל ביסל Funky אין פאַרגלייַך צו C,
ווו מיר שטענדיק האט צו האָבן אונדזער בייַטעוודיק זוך אויבן די ערטער
זיי זענען געניצט.
אַז ס ניט אַ הערשן אַז ס ענפאָרסעד ענימאָר, אַזוי, אַ קליין ביסל אַנדערש.
און ווידער נאָר צו רעעמפאַסיזע, גלאבאלע קעגן היגע וואַריאַבלעס--
זייער ענלעך צו סי איר געקענט האָבן צוויי וועריאַבאַלז מיט די זעלבע נאָמען,
און האָבן איינער פון זייער נעמען זייַן שאַדאָוועד דורך אַ היגע בייַטעוודיק אויב איינער פון זיי
איז גלאבאלע.
אַזוי, ענלעך מין פון פּראָבלעמס אַז עטלעכע פון ​​איר
קען האָבן לויפן אין אין עטלעכע פון דיין פּראָבלעם שטעלט אַזוי ווייַט.
קיל, אַזוי אַז ס וועריאַבאַלז.
>> קאָנטראָל שטראָם, טייַטש ווי, אויב-עלסע-- לאַדזשיקאַל סטופפ-- און לופּס.
אזוי צו אָנהייבן מיט, דעם איז וואָס אויב-אַנדערש סטייטמאַנץ קוקן ווי אין דזשאַוואַסקריפּט.
די פּלייסמאַנט פון די פאַרשידן דאס אויף די שורות איז ניט וויכטיק.
דאס איז נאָר איינער פון די קאַנווענשאַנז פֿאַר די וועג מיר סטרוקטור קאָד.
פּונקט ווי אין C, מיר האָבן אַ "אויב", אַ פּאַרענטהעסיס דערקלערונג.
אַז ס 'נישט וואָס איך מענט צו טאָן.
איך האט עס ווידער.
>> יו זאַבריסקיע: טריינג צו אַרויסגאַנג?
סאַם גרין: ניין, איך בין נאָר טריינג צו Zoom אין.
עס טוט ניט ענין.
>> אַזוי, מיר האָבן אַ "אויב" ויסזאָגונג און מיר האָבן אַ צושטאַנד ין פון עס
אַז יוואַליוייץ צו אמת אָדער פאַלש, און אַז דאַטערמאַנז צי אָדער נישט
מיר אַרייַן אַז בלאָק פון קאָד.
און אַזוי, מיר האָבן אַ אַנדערש-אויב, און אַ אַנדערש, פּונקט ווי מיר ניטאָ געניצט צו אין סי
>> איר אויך זאָל זיין שיין באַקוועם רעכט אַוועק די פלעדערמויז מיט לופּס,
ווייַל זיי אויך קוקן אַ פּלאַץ ווי C קוקט.
אבער איר וועט באַמערקן ווידער אַז מיר האָבן, אָנשטאָט פון ינט יניטיאַליזאַטיאָנס,
מיר האָבן וואַר יניטיאַליזאַטיאָנס.
און איך טרעפן איר האָבן צו זיין אָפּגעהיט צו מאַכן
זיכער איר טאָן ניט טוישן די ווערט פון איך פֿון אַ ינט צו אַ שטריקל,
למשל, ווייַל אַז ס 'געגאנגען צו גרונט טשודנע נאַטור איר זאל ניט
דערוואַרטן.
אבער דעם זאָל קוקן שיין באַקאַנט, ווי געזונט.
>> אזוי דעם איז ווו זאכן אָנהייבן צו באַקומען אַ ביסל משוגע אין דזשאַוואַסקריפּט
פֿאַר עמעצער וואס איז געגאנגען פון אַ הינטערגרונט פון סי עס זענען פֿעיִקייטן
אין דזשאַוואַסקריפּט, און דאָרט ס איין וועג צו דערקלערן אַ פֿונקציע וואָס קוקט
סאָרט פון ענלעך צו C, און דעמאָלט דאָרט ס אנדערן איינער וואס
קוקט מין פון פאַרשידענע.
>> דער ערשטער ווערסיע, וואָס מיר קענען זען דאָ,
איז מין פון: C-ווי, ווו מיר זאָגן, דאָס איז אַ פֿונקציע,
געבן עס אַ נאָמען, געבן די נומער פון טענות,
און דעריבער די תּוכן פון די פֿונקציע גיין ין די געגרייַזלט ברייסאַז.
מיר וועט זען אַ בייַשפּיל פון טענות אין נאָר אַ רגע.
>> ווהערעאַס אויף די ווייַטער שורה, מיר זען, טאַקע, דאָ ס אַ בייַטעוודיק געהייסן "מיפונקטיאָן,"
און מיר גלייַך עס צו דעם דזשאַנעריק טהינג-- פונקטיאָנ-- אַז
טוט ניט ויסקומען צו האָבן עפּעס געגאנגען אויף.
די סיבה אַז ס אַנדערש ווי C איז אַז דזשאַוואַסקריפּט
איז וואָס ס גערופֿן אַ Functional שפּראַך, אָדער האט Functional עלעמענטן, וואָס מיטל
וואָס פֿעיִקייטן זענען אַקטשאַוואַלי וואַלועס.
און אַז מיטל אַז מיר קענען שטעלן אַ בייַטעוודיק צו גלייַך אַ פֿונקציע
און דעריבער מאַך אַז פֿונקציע אַרום, פאָרן עס ווי אַן אַרגומענט,
טאָן אַלע מינים פון שטאָפּן ווי אַז מיט פֿעיִקייטן.
>> איין אנדערע זאַך צו נאָטע-- פֿעיִקייטן זענען געשריבן
מיט אַ זיכער נומער פון טענות.
מיר וועט זען אַ בייַשפּיל פון אַ פֿונקציע מיט אַן אַרגומענט אויף די ווייַטער רוק.
אבער דזשאַוואַסקריפּט וועט ניט שרייַען בייַ איר אויב איר פּרובירן
צו נוצן אַ פֿונקציע מיט די אומרעכט נומער פון טענות.
עס וועט נאָר טאָן זייַן בעסטער צו מאַכן טאָן, טייַטש אַז אויב איר פאָרן,
איר רופן אַ פֿונקציע אַז יקספּעקץ אַ אַרגומענט מיט קיין אַרגומענט, אַלע וואָס
וועט פּאַסירן איז עס וועט טאָן זייַן בעסטער צו פּרובירן און ויספירן אַז קאָד,
און אויב עס יווענטשאַוואַלי ראַנז אין אַן אויסנאַם אָדער אַ טעות,
עס וועט וואַרפן אַז ויסנעם און נאָר האַלטן גאָינג-- וואָס איז נאָר איינער פון די וועגן
וואָס דזשאַוואַסקריפּט אַרבעט.
יאָ.
>> וילעם: וואָס כאַפּאַנז אויב עס ס אויך פילע טענות?
סאַם גרין: אזוי די קשיא איז, וואָס כאַפּאַנז
אויב עס זענען אויך פילע טענות?
און די ענטפער איז אַז דזשאַוואַסקריפּט וועט נאָר
איגנאָרירן די אָנעס אַז ביסט נאָך די אָנעס עס יקספּעקץ.
עס וועט פּרובירן צו ויספירן די פֿונקציע רופן ווי אויב עס איז געווען נאָר דער ערשטער צוויי.
רעכט?
>> יו זאַבריסקיע: אַז ס רעכט, יאָ.
סימילאַרלי, אויב עס זענען אויך ווייניק טענות,
עס נאָר מין פון גיט נאַל צו אַלע די טענות עס טוט נישט האָבן קיין וואַלועס
פֿאַר.
>> סאַם גרין: וואָס קענען אַקטשאַוואַלי זיין האַנטיק, אויב איר
ווילן צו שרייַבן אַ פֿונקציע וואָס נעמט אַ בייַטעוודיק נומער טענות.
איר קענען שטעלן ניט ויסצאָלן וואַלועס אין די דעפֿיניציע פון ​​די פֿונקציע,
און עס קענען איגנאָרירן דעם פאַקט אַז די ינפּוט ס נישט דאָרט.
אזוי איך ווילן צו רעדן אַ ביסל מער וועגן דעם לעצטע קויל
פונט, וואָס איז פֿעיִקייטן זענען וואַלועס.
דאס איז אַ בייַשפּיל אַז איז אַ ביסל מיינונג-בלאָוינג
אויב איר נאָר לייענען עס, און טאָן ניט טראַכטן וועגן וואָס ס געגאנגען אויף פֿאַר אַ רגע.
אַזוי, לאָזן ס קוק נאָר בייַ דער ערשטער שורה דאָ.
מיר האָבן דעם בייַטעוודיק, F1, אַז מיר זאָגן איז אַ פֿונקציע וואָס טוט דעם זאַך.
און דער אינהאַלט פון די פֿונקציע זענען קאָנסאָלע.לאָג ('העלא').
איר קענען טראַכטן פון קאָנסאָלע.לאָג ווי די דזשאַוואַסקריפּט עקוויוואַלענט פון פּרינטף.
אזוי וואָס וועט פּאַסירן איז, אויב מיר לויפן דעם קאָד אין אונדזער בלעטערער,
עס וועט דרוקן אויס אַ שטריקל.
איך קענען באַווייַזן אַז.
וילעם: דורך קלאָץ, כאָטש, טוט וואס מיינען עס ס ווייל רעקאָרדעד ערגעץ?
סאַם גרין: יאָ.
אַזוי איך וועט ווייַזן איר וואָס ס געגאנגען צו פּאַסירן.
אַזוי די קשיא איז, וואָס טוט קלאָץ מיינען?
>> יו זאַבריסקיע אַזוי קאָנסאָלע.לאָג איז ווי פּרינטף פֿאַר סי
סאַם גרין: אַזוי קאָנסאָלע.לאָג איז ווי פּרינטף,
אַזוי אויב איך האָבן דעם קאָנסאָלע.לאָג ('העלא'), און איך רוף אַז, די שטריקל "העלא"
געץ געדרוקט אויס צו די קאַנסאָול.
דאס איז די קאַנסאָול.
עס ס פּונקט ווי פּרינטף, ווו עס פּרינץ צו נאָרמאַל אויס.
און מיר וועט זען אין אַ מינוט, אָבער דאָס איז אַקשלי
רעפעררינג צו די קאַנסאָול כייפעץ, און פאַך אַ אופֿן אויף אַז כייפעץ.
אַז וועט מאַכן מער געפיל אין אַ מינוט ווען מיר
באַקומען צו גערעדט וועגן אַבדזשעקס אין דזשאַוואַסקריפּט,
אָבער איך געדאַנק איך וואָלט נאָר דערמאָנען אַז.
יו זאַבריסקיע: מיר 'רע געניצט צו אין C, ריגהט--
מיר יוזשאַוואַלי שרייַבן אַ גרויס פּראָגראַם אין הויפּט צו טאָן עפּעס.
אבער וואָס ס קיל אין דזשאַוואַסקריפּט איז איר האָבן דעם מין פון יבערזעצער אַז
ראַנז אין פאַקטיש צייַט, אַזוי עס נעמט פּונקט שורה דורך שורה,
עס קענען נאָר טייַטשן אַז אויף דעם אָרט.
און עס האלט שפּור פון זאכן וואָס האָבן לויפן איידער,
אַזוי עס ס אַ שיין נוציק געצייַג צו נוצן קאָנסאָלע.לאָג, אָדער די קאַנסאָול,
בכלל, פֿאַר נאָר פּלייינג אַרום מיט דזשאַוואַסקריפּט.
>> סאַם גרין: אזוי געגאנגען צוריק צו דעם עקסאַמפּלע-- די רגע שורה פון קאָד
דאָ איז שיין מיינונג-באַגלינג אין מיין קאָפּ.
די ערשטער מאָל איך לייענען דעם, עס איז געווען ווי, וואָס ס געגאנגען אויף?
אַזוי וואָס ס געשעעניש איז, דעם פֿונקציע דעקלאַראַציע זאגט,
איך האָבן אַ פֿונקציע גערופֿן פ2 אַז ס יקספּעקטינג איין אַרגומענט, F,
און דעמאָלט עס קאַללס אַז פונקציאָנירן, F, וואָס
איז דורכגעגאנגען צו עס ווי אַן אַרגומענט מיט קיין טענות זיך.
אַזוי, אַז זאל האָבן געווען קאָנפוסינג.
אויב מיר פֿאַרשטיין דעם ווי פ2 נעמט F1 ווי אַן אַרגומענט, און דעמאָלט ין פון פ2,
ו געץ קאַללעד-- וואָס מיטל אַז דעם שורה פון קאָד,
נאָך די צוויי שורות פון קאָד, רעזולטאטן אין "העלא"
ווייל געדרוקט צו די קאַנסאָול.
>> די פאַקט אַז מיר קענען פאָרן פֿעיִקייטן אַרום ווי וואַלועס
ענדס אַרויף ווייל איינער פון די מערסט שטאַרק פֿעיִקייטן פון דזשאַוואַסקריפּט
ווי אַ פּראָגראַממינג שפּראַך.
אַרויס פון אַלע פון ​​די אָסאַם זאכן עס קענען טאָן,
פּונקט ווי אַ שטריך פון די שפּראַך אין טערמינען פון די וועג
אַז עס מאכט דאס גרינג צו פּראָגראַם און אַלאַוז
פֿאַר זאכן וואָס זענען נישט דער הויפּט געזונט-סוטאַד צו די וועב,
Functional פּראָגראַממינג און Functional פּראָגראַממינג אַספּעקץ פון דזשאַוואַסקריפּט
איז איינער פון די מערסט שטאַרק קאַנסעפּס אַז
יגזיסץ אין דזשאַוואַסקריפּט-- אויב איר פרעגן מיר.
קיל.
>> אַזוי, ווייַטער זאַך.
אין דערצו צו ווייל Functional, עס זענען אויך עלעמענטן פון דזשאַוואַסקריפּט
וואָס זענען כייפעץ-אָריענטאַד, וואָס איז איינער פון די זייער
פאָלקס זשומען ווערטער אין קאָמפּיוטער וויסנשאַפֿט.
אָבדזשעקט-אָריענטאַד פּראָגראַממינג איז אַ טאַקע פאָלקס זאַך.
דזשאַוואַסקריפּט האט אַ ווערסיע פון ​​אַז, ווו איך גלויבן יעדער ווערט איז אויך
אַ כייפעץ, וואָס מיטל אַז יעדער כייפעץ ראַפּס צוזאַמען עטלעכע נומער פון וואַלועס.
אַזוי פֿאַר וואַלועס אַז זענען פּשוט, ווי אַ ינטאַדזשער, ווי וואַרקס יקוואַלז 5,
אַז כייפעץ נאָר ראַפּס אַז איינער ווערט.
>> אָבער מיר קענען אויך ימאַדזשאַן אַ סיטואַציע ווהערע-- מיר קענען טראַכטן פון סיטואַטיאָנס אין C
ווו מיר געוואלט צו טאָן עפּעס מיט סטרוקץ,
למשל, אַז ראַפּס עטלעכע וואַלועס צוזאַמען און מאכט
עס טאַקע גרינג צו פאָרן זאכן אַרום.
אַז ס ווען אַ כייפעץ איז אין דזשאַוואַסקריפּט.
>> עס ס וויכטיק צו געדענקען ווען איך זאָגן אַז אַבדזשעקס אלנגעוויקלט
עטלעכע נומער פון וואַלועס צוזאַמען, וואָס פֿעיִקייטן זענען אויך
וואַלועס, וואָס מיטל אַז פֿעיִקייטן קענען אויך זיין ין פון אַ דזשאַוואַסקריפּט כייפעץ.
און די סיבה אַז ס וויכטיק איז אַז, כוועראַז מיר אָפֿט
טראַכטן פון פאַך אַ אופֿן אויף אַ כייפעץ אַז ס
פון אַ פאָלקס טערמין פון אנדערע פאָלקס כייפעץ-אָריענטאַד שפּראַכן,
איינער פון די חילוק דאָ איז אַז אַלע אַז אַ אופֿן איז אין דזשאַוואַסקריפּט
איז אַ ווערט סטאָרד ין פון אַ כייפעץ אַז פּערפאָרמס עטלעכע אַקטיאָנ-- עפשער
ניצן די אנדערע וואַלועס וואָס זענען ין פון אַז כייפעץ, אָבער ניט דאַווקע.
אַזוי איר קענען ימאַדזשאַן אַ סיטואַציע, איך טרעפן אין אַ קליין ביסל פון אַ משוגע וועג,
ווו איר גערופֿן אַ אופֿן פון איין כייפעץ אויף אן אנדער כייפעץ, פֿאַר משל.
אזוי, עס ס אַ קליין ביסל Funky אין אַז וועג.
>> און איר קענען אויך טוישן די מעטהאָדס וואָס זענען פֿאַרבונדן מיט אַ כייפעץ
דורך אַסיינינג אַז אופֿן אַ נייַ פונקציאָנירן, וואָס איז אויך
שיין אַנדערש פֿון אנדערע כייפעץ-אָריענטאַד שפּראַכן, ווו
אַמאָל מיר דערקלערן אַ כייפעץ און ינסטאַנטיאַטע עס,
מיר קענען ניט טוישן די מעטהאָדס אַז זענען פֿאַרבונדן מיט אַז כייפעץ ענימאָר.
אַזוי אַז ס שיין אַנדערש.
קיל.
>> אַזוי דאָ ס אַ בייַשפּיל, ערשטער, פון אַ כייפעץ אין קאַמף.
דאס איז וואָס ס גערופֿן אַ דזשאַנעריק כייפעץ, וואָס
מיטל אַז עס טוט נישט האָבן קיין באַזונדער נאָמען, טוט ניט האָבן אַ קלאַס,
עס ס נאָר עטלעכע ראַפּינג פון וואַלועס.
און די וועג וואָס קוקט איז, מיר האָבן דעם ויסווייניקסט פּאָר פון געגרייַזלט ברייסאַז דאָ
וואָס אָנווייַזן צו דזשאַוואַסקריפּט און זאָגן, דאָס איז אַ כייפעץ.
די וואַלועס ין פון עס זענען יעדער וואַלועס ין
פון די כייפעץ וואָס זאָל זייַן אלנגעוויקלט צוזאַמען.
און ין פון וואָס כייפעץ, מיר דעריבער האָבן שליסל ווערט פּערז,
ווו די שליסל רעפערס צו דעם נאָמען פון די ווערט ין פון די כייפעץ,
און די אנדערע סידע-- פאַרקערט די צווייפּינטל הערע--
איז די פאַקטיש ווערט אַז זאָל זיין סטאָרד.
>> אַזוי איר זען דאָ אַז מיר האָבן אַ שליסל גערופֿן FN מיט ווערט סאַם,
נאכגעגאנגען דורך אַ קאָמע, געזאגט אַנטו די ווייַטער פּאָזיציע.
דעמאָלט אַ שליסל גערופֿן ליין, מיט אַ ווערט פון גרין,
נאכגעגאנגען דורך אַ קאָמע, נאכגעגאנגען דורך "דרוק"
וואָס איז געגאנגען צו האָבן אַ פֿונקציע ווערט וואָס איז געגאנגען צו טאָן דעם שורה פון קאָד.
זאל ס נעמען אַ שריט צוריק און אַנפּאַק וואָס ס געגאנגען אויף דאָ.
אַזוי דעם איז אַ קליין ביסל קאָמפּליצירט, און מיר ניטאָ געזען עפּעס נייַ
פֿאַר די ערשטער מאָל.
די "דעם" קיווערד איז די נייַ זאַך מיר ניטאָ געזען דאָ, און וואָס דאָס טוט
איז, רעפערס צו דעם קראַנט כייפעץ אין פאַרנעם, רעכט?
אַזוי ווען מיר זאָגן, דעם פּוינץ אַלע די וועג צוריק
צו דעם גאנצע אָבדזשעקט-- ווען מיר טאָן טהיס.פן,
מיר רע געגאנגען צו גיין אַלע די וועג צוריק צו דעם כייפעץ, גיין צו די FN ווערט
און באַקומען סאַם, ציען עס אַלע די וועג צוריק, שטעקן עס דאָ, און דאַן מאַך אויף.
>> וילעם: אזוי מיט די ריטריוואַל, איז אַז געטאן ווייַל פון דעם פּאַראַמעטער
דעפֿיניציע?
סאַם גרין: אַזוי די קשיא איז, איז די ריטריוואַל געטאן ווייַל פון דעם פּאַראַמעטער
דעפֿיניציע?
יאָ, לעגאַמרע.
וואָס ס געגאנגען צו פּאַסירן דאָ איז, דעם פּונקט זאגט צו די דזשאַוואַסקריפּט,
גוט, איך בין געטינג עטלעכע ווערט פון דעם כייפעץ פון זיך.
און דעמאָלט עס וועט קוקן פֿאַר אַ פּאָזיציע גערופֿן FN, און אויב עס פינדס עס,
עס וועט צוריקקומען אַז וואַלוע-- אַזוי, עס ס סאַם.
אָבער איך קען אויך האָבן טייפּט עפּעס אַז איז ניט Defined דאָ,
און דעמאָלט עס וואָלט נאָר צוריקקומען ונדעפינעד-- וואָס
איז אַ זאַך וואָס דזשאַוואַסקריפּט קענען טאָן, וואָס קענען האָבן Benefits,
אָבער עס ס אַלסאָ-- אויב איר מאַכן אַ טיפּאָ, עס קענען רעזולטאַט אין טשודנע ערראָרס.
אזוי עס וועט נאָר פּרובירן צו געפֿינען וועלכער איר זאָגן עס צו געפינען
און עס ס ניט געגאנגען צו באַקלאָגנ זיך אויב טוט ניט געפֿינען עס.
עס וועט נאָר זאָגן, איך האט ניט געפֿינען עס, און דאַן מאַך אויף.
אזוי עס וואָלט זיין undefined, פּלוס ליידיק, פּלוס לעצטע נאָמען.
יאָ.
און דעמאָלט מיר קענען זען אַז אויב מיר קען דעמאָלט גיין אַראָפּ און אַקסעסס--
און מיר רופן טפ.פּרינט () מיט קלאַמערן.
עס ס געגאנגען צו רופן אַז דרוקן פֿונקציע מיט קיין טענות, רעכט?
אבער אויב מיר נאָר געזאגט טפ.פּרינט () פּינטל-קאָמע, אָן די קלאַמערן,
אַלע אַז וואָלט האָבן געטאן איז ציען אויס די פֿונקציע פון ​​די ווערט,
אָבער ניט אַקטשאַוואַלי גערופֿן עס.
קיל.
יו זאַבריסקיע: זאָל מיר מאַכן אַ כייפעץ?
סאַם גרין: זיכער, לאָזן ס טאָן אַז.
אַזוי איך קענען מאַך דעם משל צו די קאַנסאָול.
מיר קענען ימאַדזשאַן אַז איך האָבן אַ כייפעץ.
אַזוי דאָס איז אַ פּשוט כייפעץ.
דאס איז אַ כייפעץ אַז כּולל צוויי וואַלועס מיט צוויי קיז, צוויי שליסל ווערט
פּערז.
אַזוי איך קענען דעריבער צוטריט די ווערט סטאָרד ין פון דעם כייפעץ דורך טאן קס.קס1,
לעמאָשל, און איך באַקומען 1 צוריק.
פּונקט אַזוי, קס.קס2, באַקומען וואָס ווערט צוריק.
>> און איצט די טאַקע קיל זאַך איז, איך קענען אַקטשאַוואַלי לייגן עפּעס צו דעם כייפעץ
נאָך איך ווע Created עס.
אַזוי איר קענען ימאַדזשאַן, לאָזן ס זאָגן איך האָבן אַ פֿונקציע.
>> יו זאַבריסקיע איר האָבן צו טאָן Shift-קומען.
>> סאַם גרין: אָה, אַז ס אַנויינג.
וואָס האט עס נישט ווי?
טאַקע.
דאָ מיר גיין.
קיל.
>> אַזוי איך ווע נאָר Created דעם פֿונקציע, F, אַז
איז געגאנגען צו גיין צו דעם קראַנט כייפעץ און דרוק טהיס.קס1.
אַזוי אויב איך נאָר רופן ו דורך זיך, גאָרנישט ס געגאנגען
צו פּאַסירן, רעכט, ווייַל עס איז קיין קס 1 פעלד אין די כייפעץ עס ס רעפעררינג צו.
אבער, אויב איך זאָגן, קס.ף = ו, און דעמאָלט איך רוף קס.ף (), איך בין געגאנגען צו באַקומען צוריק 1.
אַז ו פֿונקציע איז איצט פֿאַרבונדן מיט די כייפעץ רענטגענ,
וואָס האט אַ שליסל גערופֿן קס 1 פֿאַרבונדן מיט די ווערט 1,
אַזוי ווען מיר רופן טהיס.קס1, עס ס געגאנגען צו געפינען וואָס עס ס קוקן פֿאַר
און קענען צו דרוקן אַ ווערט אויס.
אַזוי אַז ס נאָר איין בייַשפּיל פון מין פון די משוגע זאכן
איר קענען טאָן מיט אַבדזשעקס אין דזשאַוואַסקריפּט.
>> אַזוי אַז ווערסיע איז די דזשאַנעריק ווערסיע, טייַטש
אַז מיר'ווע Created אַ כייפעץ ניצן דעם קלאַמערן נאָטאַטיאָנ-- בראַסע נאָוטיישאַן,
ראַטהער-- און אַז ס האַנטיק אויב מיר נאָר ווילן
איין בייַשפּיל פון אַ באַזונדער כייפעץ, אָבער וואָס אויב מיר ווילן צו האָבן מער ווי איין
פון די זעלבע סאָרט?
און די ענטפער צו אַז קשיא איז, עס זענען זאכן
גערופֿן קלאסן אין דזשאַוואַסקריפּט ווי געזונט.
מיר קענען מאַכן אַ פֿונקציע אַז טוט עטלעכע סאָרט פון יניטיאַליזאַטיאָן
פֿאַר אַ פרעמד כייפעץ, און מיר 'ד זאָגן, ווי,
מיין קלאַסס-- אַזוי דעם נאָמען פון די ריוזאַבאַל אָבדזשעקט--
יקוואַלז פֿונקציע וואָס שטעלט עס אַרויף.
אזוי וואָס דעם וואָלט זיין עקוויוואַלענט צו איז קריייטינג אַ כייפעץ אַז
וואָלט זיין פּונקט ווי, געגרייַזלט בראַסע, סטר, צווייפּינטל,
דאָס איז אַ שטריקל, פּינטל-קאָמע, געגרייַזלט בראַסע.
אַז וואָלט זיין די דזשאַנעריק כייפעץ מיר ינישאַלייז,
מיט דעם איין חילוק ווייל אויף די ווייַטער שורות מיר מאַכן אַ פּראָוטאַטייפּ, וואָס
מיטל עס ס אַ ניט ויסצאָלן שליסל אַז מיר לייגן צו אונדזער כייפעץ אַז
האט די ווערט ליסטעד דאָ.
טייַטש אַז, ווען איך מאַכן אַ נייע בייַשפּיל פון דעם מיקלאַסס כייפעץ,
עס ס געגאנגען צו האָבן פֿאַר-געבויט ין פון עס ווערט גערופֿן סטר און אנדערן ווערט
גערופֿן מיפּרינט, וואָס איז געגאנגען צו זיין אַ פֿונקציע.
אָסאַם.
>> גרויס.
אַזוי די לעצטע זאַך צו זאָגן וועגן דזשאַוואַסקריפּט
איז אַז עס ס טאַקע נוציק פֿאַר וואָס זענען גערופֿן ייסינגקראַנאַס אַפּעריישאַנז.
אַסינטשראָנאָוס מיטל איז אַז מיר קענען וואַרטן פֿאַר עטלעכע אָפּעראַציע
צו גאַנץ איידער מיר מאַך אויף, אָבער מאַך אויף בשעת מיר וואַרטן
און דעריבער האָבן עפּעס פּאַסירן שפּעטער אויף.
און וואָס איך מיינען דורך אַז איז, איר קענען ימאַדזשאַן אַ סיטואַציע ווו
איר שיקן אַ בקשה צו עטלעכע וועב סערווער ערגעץ,
און עס ס געגאנגען צו צו שיקן איר צוריק עטלעכע גרויס פּייַדע פון ​​דאַטן, רעכט?
און דיין באַניצער קען וואַרטן אין די דערווייל פֿאַר אַז צו פּאַסירן,
און גאָרנישט קען זיין געגאנגען אויף אין וואָס מאָל.
אבער אַז ס ניט אַ גרויס פּלאַן, רעכט?
איר טאָן ניט ווילן דעם וועב בלאַט צו פרירן.
וואָס אויב דער באַניצער וויל צו דריקט אויף אַ קאַפּ-אַראָפּ מעניו?
עס ס ניט אַ גרויס פּלאַן מוסטער.
אָנשטאָט, בייסיקלי וואָס דזשאַוואַסקריפּט טוט איז זאגט,
גוט, טאָן דעם אָפּעראַציע אַסינטשראָנאָוסלי.
אַזוי ווי, וואַרטן אין דער הינטערגרונט, און דעריבער ווען די אָפּעראַציע איז געטאן,
רוף די קאַללבאַקק פונקטיאָנ-- רופן עטלעכע פונקציאָנירן,
טאָן עטלעכע אַקטיאָנ-- צו סיגנאַל אַז די אָפּעראַציע מיר זענען ווארטן פֿאַר צו סוף
איז איבער.
און די סיבה אַז ס יבער שטאַרק איז, מיר קענען טאָן עפּעס, פאָרן אַן אַרגומענט,
טאָן עפּעס, און דעריבער וואַרטן פֿאַר עפּעס צו פּאַסירן.
דעמאָלט, אַמאָל אַז עפּעס קאַמפּליץ, מיר קענען רופן אַ קאַללבאַקק.
אַז ס 'טאַקע האַנטיק ווייַל עס לעץ אונדז טאָן זאכן מיט וועב אַודיאָ אַפּי,
למשל, ווי מאַסע אַ אַודיאָ טעקע פון ​​אַ ווייַט סערווירער
אָן ווייל צו וואַרטן פֿאַר די גאנצע אַודיאָ טעקע צו זיין לאָודיד,
וואָס וואָלט זיין טאַקע שלעכט פֿאַר וסערס דערפאַרונג.
קיל.
>> לעצטע פּאָר הערות וועגן דיבאַגינג, זינט דעם
איז אַ זאַך איר ניטאָ געגאנגען צו האָבן צו טאָן ווי טייל פון אייער פּרויעקט, געראַנטיד.
איך דערמאנט די דזשאַוואַסקריפּט קאַנסאָול.
עס ס אַ סופּער נוציק שטריך פון אַלע מאָדערן בראַוזערז,
און מיר טאַקע מוטיקן איר צו באַקומען באַקוועם ניצן אייער קאַנסאָול,
אויב איר ווילן צו באַקומען גוט אין דזשאַוואַסקריפּט.
עס ס 'סופּער האַנטיק פֿאַר דיבאַגינג, אָבער עס ס אויך
טאַקע נוציק פֿאַר אויסרעכענען אויס ווי צו נוצן אַ אַפּי.
עס אַלאַוז פֿאַר טאַקע גרינג יקספּעראַמאַנטיישאַן
אָן ווייל צו דרוקן עטלעכע קאָד, און דעמאָלט צונויפנעמען עס.
איר טאָן ניט האָבן צו טאָן אַלע די טריט.
איר קענען נאָר שרייַבן עטלעכע קאָד אין אַ שורה,
און דעמאָלט באַקומען באַלדיק באַמערקונגען אויף צי אָדער ניט אַז שורה פון קאָד
וואָרקעד-- זייער האַנטיק.
>> און אויך, נאָר איין טעכניש נאָטע-- די דזשאַוואַסקריפּט קאַנסאָול איז אַ משל
פון אַ רעפּל-- אַזוי אַז ס ר E-פּ-ל, רעפּל, וואָס שטייט פֿאַר לייענען, אָפּשאַצן,
דרוק שלייף.
איר רע געגאנגען צו דרוקן עטלעכע שטאָפּן אין, עס וועט לייענען וואָס איר טייפּט אין,
עס וועט אָפּשאַצן עס, און עס וועט דרוקן די רעזולטאַט, און דעמאָלט עס וועט אָנהייבן ווידער.
אַז אַלאַוז איר צו ראַפּאַדלי גיין אין קרייזן יטעראַטינג, וואָס איז טאַקע קיל.
>> איך טרעפן פאַקטיש לעצטע נאָטע-- דעם איז די פאַקטיש לעצטע טאָן, יאָ.
ווי טאָן מיר אַקשלי נוצן דזשאַוואַסקריפּט?
אַזוי ערשטער, מיר קענען אַרייַנפיר עס ניצן אַ שריפט קוויטל
אין די שפּיץ אָדער דנאָ פון אַ HTML פילע-- ערגעץ ין פון אַ HTML טעקע,
טאַקע.
און ין אַ שריפט קוויטל, עס זענען צוויי סאַב-וועגן פון ימפּאָרטינג דזשאַוואַסקריפּט.
דער ערשטער איז דורך בעת אַ באַזונדער דזשאַוואַסקריפּט טעקע
אַז מיר אַרייַנפיר אין זייַן ינטייערטי, אָדער דורך בעת אַ געגנט פון קאָד ווי שריפט
צו אָנהייבן, און דעמאָלט באַקקסלאַש שריפט צו סוף.
און דעמאָלט מיר נאָר שרייַבן דזשאַוואַסקריפּט ין די HTML טעקע.
יענע זענען די צוויי וועגן.
איר קענען ניט האָבן עס ין פון HTML.
וילעם: איז איינער בעסער ווי די אנדערע?
סאַם גרין: די קשיא איז געווען, איז איינער בעסער ווי די אנדערע.
אַזוי, יאָ, ווי אַ קאָודינג נוסח פיר, און אויך עס ס ווי אַ פּלאַן פיר.
עס זענען צוויי סיבות וואָס עס זאל זיין בעסער.
דער ערשטער איז, עס מאכט אייער קאָד אַ פּלאַץ מער ליינעוודיק אויב אַלע פון ​​אייער HTML
איז אין איין אָרט, אַלע פון ​​דיין קסס איז אין אן אנדער אָרט, אַלע פון ​​דיין דזשאַוואַסקריפּט
איז אין אַ דריט אָרט.
רעכט?
איך טראַכטן מיר זאָל האָבן שוין גערעדט וועגן עס אין סעקטיאָנס-- ווי קסס-- וואָס
אַז יס-- און עס גייט אָפֿט אין אן אנדער טעקע.
אַזוי, ענלעך מין פון באַגריף דאָ.
איר קענען אויך ימאַדזשאַן אַז דזשאַוואַסקריפּט וואָלט זיין ריוזד אויף מער ווי איין
HTML בלאַט, אָדער טאָמער אַ גרויס פילע HTML בלעטער,
און נאכדעם וואס דזשאַוואַסקריפּט רעפאַקטאָרעד אין איין
טעקע אַז איר קענען אַרייַנפיר אין מער ווי איין אָרט
אַלאַוז די קאָד צו זיין וועג מער מאַינטאַינאַבלע.
איר קענען ימאַדזשאַן מאכן איין טוישן צו די דזשאַוואַסקריפּט
און בעת ​​צו טוישן עס אין 100 פאַרשידענע טעקעס.
און אַנשטאָט מיר קענען נאָר טוישן עס אין איין, וואָס איז וועג מער שטאַרק.
צי איך ענטפֿערן דיין קשיא?
קיל.
>> מיר קענען אויך דרוקן אין דער קאַנסאָול, ווי מיר ווע דערמאנט פריער.
און ווידער, איינער לעצט נאָטע-- וועב אַודיאָ איז געבויט אין,
איר טאָן ניט דאַרפֿן צו מאַסע עפּעס.
קיל.
זענען דאָרט קיין שאלות, טאָן איר האָבן קיין מער שאלות וועגן דזשאַוואַסקריפּט,
איידער מיר מאַך אויף?
>> וילעם: [ינאָדאַבאַל]
סאַם גרין: אַלע רעכט, קיל.
אַזוי איצט ער ס געגאנגען צו רעדן וועגן די אַפּי.
>> יו זאַבריסקיע קיל.
דאַנק, סאַם.
>> סאַם גרין: שור.
יו זאַבריסקיע: אָסאַם, אַזוי מיר וועט מאַך אויף פון דזשאַוואַסקריפּט.
אַזוי מיר ווע גערעדט וועגן עטלעכע פון די עססענטיאַלס פון דזשאַוואַסקריפּט,
און די זענען די וועריאַבאַלז, פֿעיִקייטן, אַבדזשעקס, פֿעיִקייטן ווי וועריאַבאַלז,
ייסינגקראַנאַס לאָודינג.
דאס זענען אַלע זאכן וואָס איר וועט זען ווי איר נוצן די וועב אַודיאָ.
אַזוי מיר רע נאָר געגאנגען צו רעדן וועגן עס ערשטער אין אַ הויך מדרגה.
>> עס ס אַן אַפּי, אַזוי עס ס 'עפּעס אַז ס געבויט, ווי סאַם געזאגט,
רעכט אין די דזשאַוואַסקריפּט אַז איר נוצן אין די קאַנסאָול.
און עס ס אַקטשאַוואַלי פּונקט ווי C ++ קאָד וואָס איז טאַקע געבויט אין קראָום
און Firefox, און אַלע פון ​​די בראַוזערז.
אַזוי די הויפּט געדאַנק מיט וועב אַודיאָ איז אַז איר האָבן
דעם מין פון רערנ פון אַודיאָ, רעכט?
אזוי דיין אַודיאָ דאַטע קומט אין אין עטלעכע פאָרעם.
>> עס זענען מין פון דרייַ הויפּט פאָרמס-- איר האָבן די אַסאַלייטער, וואָס
קריייץ אַ סינוס כוואַליע, קאָסינע פאָכן, מיר ניטאָ געגאנגען צו זען ווי וואָס אַרבעט.
אן אנדער זייער פּראָסט איינער, פון קורס, איז אַ mp3.
אַזוי אפֿשר איר אָנהייב מיט אַ ליד, און דעמאָלט איר
ווילן צו טאָן עטלעכע פֿילטרירונג צו אַז און רעזולטאַט
טהאַט-- אַז קען זיין אַ מעגלעך מקור.
און דעמאָלט אַ טאַקע קיל איינער איז די מיקראָפאָן.
אַזוי איר קענען נוצן עטלעכע זייער יקערדיק קאַללס אין דזשאַוואַסקריפּט
צו באַקומען צוטריט צו די מיקראָפאָן, און אַזוי אויב איר
געוואלט צו מאַכן אַ אַפּ ווי אַ פּעך דיטעקטער,
למשל, וואָס נעמט אין דיין קול און Figures אויס
די פּיטטש-- זייער גרינג וועג צו אַז.
איר קענען נאָר מין פון לייענען עס אין, רעכענען אויס די אָפטקייַט,
און דעמאָלט רעזולטאַט אַ נומער.
אַזוי מיר וועט זען ווי וואָס אַרבעט, ווי גוט.
>> די דעסטיניישאַן איז בייסיקלי ווו די אַודיאָ דאַטע איז רעזולטאַט.
אַזוי בכלל, אַז ס ווי דיין לאַפּטאַפּ ספּיקערז.
אנדערע אָפּציעס זענען ווי אַ סקריפּטפּראָסעססאָרנאָדע--
מיר וועט באַקומען צו נאָודז אין אַ סעקאָנד-- אָבער בייסיקלי,
אָדער איר ניטאָ פּאַטינג געזונט אויס דורך דיין קאָמפּיוטער דורך ספּיקערז,
אָדער איר ניטאָ מין פון ריקאָרדינג עס, אַזוי איר ניטאָ סטאָרינג עס ווי אַודיאָ דאַטע.
אַזוי אפֿשר אויב עמעצער קריייץ מוזיק אין דיין אַפּ און דעמאָלט
איר ווילן צו רעקאָרדירן אַז און אפֿשר ווי אַרויספירן עס צו סאָונדקלאָוד, פֿאַר עקסאַמפּלע--
וואָס וואָלט זיין איין וועג צו טאָן אַז.
אַלע די שפּאַס שטאָפּן, וואָס מיר וועט רעדן וועגן,
כאַפּאַנז צווישן די צוויי ווייזט, ווו מיר מאַסע אין די מוזיק
און דעמאָלט רעזולטאַט עס.
>> אַזוי איך בין געגאנגען צו רעדן וועגן די פינף סטאַגעס פון אַודיאָ פּראָדוקציע אין אַ רגע.
מיר האָבן דעם זאַך גערופֿן אַ אַודיאָקאָנטעקסט, וואָס
איז דאָס ביסל ראַפּער מיר זען דאָ.
באַסיקאַללי וואָס אַודיאָקאָנטעקסט יס-- אויב מיר גיין צו די דזשאַוואַסקריפּט קאַנסאָול רעכט איצט,
מיר קענען מאַכן איין רעכט איצט.
נאָר אַ משל פון רעפּל, רעכט?
מיר 'רע לייענען, יוואַליוייטינג, און עס פּרינץ.
>> אַודיאָקאָנטעקסט איז אַ גלאבאלע שטאַט.
עס ס אַ סטרוקט, עס ס אַ כייפעץ דאָ, און עס האלט אינפֿאָרמאַציע
וועגן זאכן וואס זענען געגאנגען אויף אויף דער עקראַן שייך צו אַודיאָ.
איין בייַשפּיל איז די קראַנט צייַט.
דעם דערציילט איר די נומער פון סעקונדעס, זייער גראד,
זינט די וועב בלאַט לאָודיד.
אַזוי דעם איז אַ טאַקע נוציק קליין פאַרמאָג אַז איר קענען נוצן.
עס ס לייענען אָנלי-- איך טראַכטן אַקטשאַוואַלי איר קענען פּרובירן צו שטעלן עס אַ ווערט.
עס וועט דערציילן איר שטעלן עס, און דעריבער אויב איר דרוקן עס
אַגאַינ-- עס האט ניט אַקטשאַוואַלי גאַנץ אַרבעט.
אַזוי עס זענען לייענען-בלויז פּראָפּערטיעס אין דזשאַוואַסקריפּט.
דאס איז טאַקע נוצלעך אויב איר ניטאָ מין פון סינסינג
אַ פּלאַץ פון פאַרשידענע אינפֿאָרמאַציע, ווען איר ניטאָ
מין פון פּלייינג פאַרשידענע סאָונדס.
>> אן אנדער טאַקע נוציק איין איז די קאָנטעקסט דעסטיניישאַן.
באשטימט, אויב איר ניטאָ אינטערעסירט, זיין טריינג דעם אין דיין אייגן קאַנסאָול רעכט
איצט.
אזוי דעם איז אַ אַודיאָדעסטינאַטיאָננאָדע.
באַסיקאַללי וואָס דאָס זאגט איז, ווו איז דער רעזולטאַט געגאנגען?
אַזוי עס זענען צוויי פאַקטיש אָפּציעס דאָ.
וסואַללי די ניט ויסצאָלן איז נאָר דיין ספּיקערז,
אַזוי אַודיאָדעסטינאַטיאָננאָדע בייסיקלי פּונקט זאגט
עס זענען נול אַוטפּוץ צו די געזונט קומען אין, געשיקט צו די רעדנער.
אַזוי בכלל, איר טאָן ניט האָבן צו שפּילן מיט וואָס.
אויב איר ניטאָ אינטערעסירט אין אַקטשאַוואַלי ניצן די סקריפּטפּראָסעססאָרנאָדע פֿאַר רעקאָרדינג,
באשטימט דרייען מיר אַ בליצפּאָסט שפּעטער ווייַל אַז ס
אַ ביסל מער קאָמפּליצירט.
אָבער בכלל, איר ניטאָ נאָר מין פון אָוטפּוטטינג געזונט אין עטלעכע פאָרעם.
אַזוי קיל, מיר וועט שפּרינגען צוריק דאָ.
וילעם: איך בין נעבעכדיק.
יו זאַבריסקיע: יאָ.
וילעם: איך וויסן איר האט צו רעדן צו איר שפּעטער וועגן ריקאָרדינג.
קענען איר צובינד אַז מיט פּראָ מכשירים?
>> יו זאַבריסקיע: מיט פּראָ מכשירים?
זאל ס זען.
איך טאָן ניט טראַכטן אַזוי.
אזוי געגאנגען צווישן דעם קליענט, וואָס איז די דזשאַוואַסקריפּט
קאַנסאָול, און דיין פאַקטיש קאָמפּיוטער, איז בכלל
עפּעס אַז ס מין פון אַוועק לימאַץ, אויב איר
וועט, מין דורך די נאַטור פון טהע-- עס ס מין פון אַ פּלאַן זאַך,
אָבער איר פּרובירן צו האַלטן דעם בלעטערער באַזונדער פון דעם באַניצער 'ס פאַקטיש קאָמפּיוטער.
בכלל, דער בלויז זאַך איר ניטאָ קענען צו צוטריט איז די מיקראָפאָן אָדער די אַפּאַראַט.
איר ניטאָ ניט קענען צו, איך טאָן ניט טראַכטן, נוצן פּראָ מכשירים.
אָבער, אויב איר Created אַ שפּור אין פּראָ מכשירים,
יקספּאָרטאַד אַז, איר קען מאַסע אַז אין דאָ, פילטער עס, למשל,
פּראָצעס אַז, און רעקאָרד אַז אין אַ אַודיאָ דעסטינאַטיאָנ-- אָדער, נאָ-- אַ קויל
פּראָסעססאָר נאָדע.
און דעמאָלט פון דאָרט, איר קען אַרויספירן אַז צו סאָונדקלאָוד, איר
קען שיקן עס אין אַ בליצפּאָסט, אָדער וועלכער איר ווי פֿון דאָרט.
>> אבער עס איז מין פון אַ קליין שלאַבאַן צווישן מאכן מוזיק אויף דיין קאָמפּיוטער
און מאכן מוזיק אָנליין.
>> סאַם גרין: און אַז ס ניט יינציק צו דעם אַפּי.
עס ס אַ זיכערהייַט שטריך פון קראָום, און איך טראַכטן יעדער אנדערע מאָדערן בלעטערער.
דער בלעטערער איז זיך-קאַנטיינד.
אַזוי פֿאַר בייַשפּיל, אַ וועב בלאַט קענען ניט נוצן דזשאַוואַסקריפּט צו קערן די געזונט
אויף אויף דיין ספּיקערז, פֿאַר משל.
אָדער עס קענען ניט אומקערן אייער קאָמפּיוטער אַוועק.
און עס איז קיין ינטערמידייט פונט צווישן די צוויי זאכן, רעכט,
אַזוי אָדער איר האָבן אַ גאַנץ אַבסטראַקציע,
אָדער איר עפענען זיך די זיכערהייַט פלאַוו פון לעטינג
אַ פּראָגראַמיסט מיט שלעכט ינטענטשאַנז טאָן וועלכער זיי ווילן מיט דיין לאַפּטאַפּ.
און אַז ס וואָס קראָום איז זיך-קאַנטיינד.
>> יו זאַבריסקיע: יאָ.
טוט וואָס מאַכן זינען?
קיל, קיל.
איך איז נאָר געגאנגען צו ווייַזן אַ בייַשפּיל פון איין.
דאס איז שיין פיל ווי ווייַט ווי איר באַקומען, אין טערמינען
פון אַקסעסינג דער באַניצער ס קאָמפּיוטער.
אויב איר האָבן אַ וסב קלאַוויאַטור פּלאַגד אין, איר קענען נוצן עפּעס גערופֿן דעם וועב
מידי אַפּי, וואָס מיר וועלן נישט טאַקע רעדן וועגן דאָ,
אָבער דאָס איז אן אנדער אַפּי אַז ס געבויט אין לפּחות טשראָמע-- ווידער,
דעם איז וואָס מיר ליבע טשראָמע-- איך טראַכטן Firefox אָדער Safari,
דעם איז אַ גרינג זאַך צו גאָאָגלע-- פאַרשידענע בראַוזערז האָבן
פאַרשידענע שטיצן פֿאַר וואָס אַפּיס זיי האָבן ימפּלאַמענטאַד.
אבער אויב איר געוואלט צו צאַפּן אין אַ קלאַוויאַטור און אַרבעט מיט וואָס אינפֿאָרמאַציע,
מין פון שיקן די קלאַוויאַטור אינפֿאָרמאַציע איבער צו די קאָמפּיוטער
און דעמאָלט נוצן אַז אָנליין, דעם אַפּי איז ווו איר'ד זיין אַרבעט אַז.
>> קיל.
קעשורע.
אַזוי, געשווינד מאָווינג אויף דאָ.
ווי זענען מיר טאן אויף צייַט?
>> רעדנער 1: וועגן 15.
>> יו זאַבריסקיע: 15 מינוט לינקס?
גוט, אָפּקילן.
אזוי מיר וועט ראַסע פאָרויס דאָ.
>> אַזוי בייסיקלי, די הויפּט פונט פון טראכטן פון דעם ווי אַ רערנ
איז אַז יעדער שריט אין די פּייפּליין איז אַ סעריע רעקאָרדירטע נאָודז.
אונדזער מקור, לאָזן ס זאָגן, איז אַ אַסאַלייטער.
מיר דאַרפֿן צו שאַפֿן אַ אַסאַלייטער נאָדע.
און וואָס איז נאָר מין פון די ביסל פונקטיאָנ--
און זיי ניטאָ אַלע באזירט אויס פון די אַודיאָ קאָנטעקסט דאָ.
>> וילעם: ווען עס האט אַסאַלייטער, טוט אַז מיינען
עס ס אַקטשאַוואַלי ממש געגאנגען פון צוויי פאַרשידענע פּויליש צוריק און אַרויס?
>> יו זאַבריסקיע: ניין, עס ס ווי אַ דיגיטאַל פאַרטרעטונג.
עס ס אַקטשאַוואַלי ימפּלאַמענטאַד אין C ++.
איך אַקטשאַוואַלי טאָן ניט וויסן די ספּעקס פון ווי עס ס אַקטשאַוואַלי ימפּלאַמענאַד,
אבער אַלע דעם איז ארבעטן ווי ביינערי דאַטע.
אַקטואַללי, יאָ.
וואס זאל זיין געזאגט, איך קען אַקטואַללי, אויב איר ניטאָ אינטערעסירט,
איך קען שיקן איר אַ ביסל מער אינפֿאָרמאַציע וועגן ווי וואַוועפאָרמס
זענען געהאלטן בעת ​​אַ דיגיטאַל פֿאָרמאַט.
גוט, אָפּקילן.
>> אזוי מיר ניטאָ דזשענערייטינג אַ טאָן ווי אַ סינוס פאָכן אָדער עפּעס ווי אַז, אפֿשר
440 הערטז.
מיר מאַכן אַ אַסאַלייטער.
אויב מיר ווילן צו שטעלן די באַנד, מיר פאַרבינדן עפּעס צו אַ גאַיננאָדע,
וואָס מיר געקענט טאָן מיט .קרעאַטעגאַין.
וואָס שטעלט אייער באַנד.
איר קענען פאָרן אַז אַנטו קיין פון די אנדערע אָפּטיאָנס-- געזונט,
אַזוי אַ אַודיאָ Buffer מקור נאָדע איז ווו איר זאל
קראָם אַ mp3 אַז איר ווע לאָודיד אין.
>> ביקוואַד פילטער איז פֿאַר פֿילטרירונג אויב איר ווילן צו נעמען אַלע די באַזע אויס
פון אַ ליד, אָדער עפּעס ווי אַז.
גאָט פאַרווערן איר ווילן צו נעמען די באַזע פון ​​אַ ליד.
און אַודיאָדעסטינאַטיאָן נאָדע איז, ווידער, ווי ווו אונדזער פינאַליזאַטיאָן איז.
אויב איר ניטאָ אלץ אינטערעסירט אין געזען אַלע די פאַרשידענע מעגלעך אָפּציעס,
נאָר גיין צו די קוויטל און לאָזן די אַוטאָ-גאַנץ קומען אַרויף.
און אויב איר טאָן מאַכן, איר וועט זען אַלע די פאַרשידענע זאכן וואָס איר קענען מאַכן.
איר קענען מאַכן דינאַמיש שריפט פּראַסעסערז,
איך טאָן ניט אַפֿילו וויסן וואָס אַז איז, פֿאַר מיקסינג וועג מערדזשערז
און קאַנאַל ספּליטטערס און אַלע וואָס.
קיל.
>> אַזוי דעם איז נאָר אַ לעמאָשל פון אַ רערנ.
אַזוי מיר האָבן דרייַ קוואלן קומען אין.
אפֿשר די ביסט וואַוועפאָרמס, אפֿשר די ביסט מפּ 3 ס.
מען ס געגאנגען דורך אַ פילטער, אן אנדער איינער ס
געטינג פאַרקרימט אנדערן איינער ס פּאַנינג לינקס און רעכט.
איר קענען טאָן אַלע סאָרץ פון זאכן און זיי אַלע באַקומען געמישט אַרום צוזאַמען,
און דעמאָלט אויס קומט די אַודיאָ אין די סוף, ווי דעסטיניישאַן.
דאס איז אַ בייַשפּיל פון וואָס מער קאָמפּליצירט וועב אַודיאָ קאָד קוקט ווי.
איר 'רע קריייטינג אַלע די פאַרשידענע אַבדזשעקס רעכט הערע--
איך בין נישט זיכער פון דעם.
ניין, עס טוט נישט zoom אין.
קעשורע.
>> סאַם גרין: איר טאָן קאָנטראָל, מעגילע-אַרויף.
יו זאַבריסקיע: קאָנטראָל סקראָלל--
סאַם גרין: ניט, ניט.
קאָנטראָל--
>> יו זאַבריסקיע: אָה, קאָנטראָל, מעגילע?
אָה, Gotcha.
יאָ.
וואַו, NOPE, nope.
קעשורע.
איך וועט ניט טאָן אַז.
>> אזוי יאָ, אין דעם ערשטער אָפּטיילונג דאָ, איר זען
מיר ניטאָ קריייטינג אַלע די פאַרשידענע נאָודז פון די קאָנטעקסט.
מיר ניטאָ פּונקט פּיסינג זיי צוזאַמען אין די רגע טייל
דורך דעם פֿונקציע גערופֿן קאָננעקט.
אַז ס אַ טאַקע שליסל פונקציאָנירן אין וועב אַודיאָ.
עס פּונקט מיטל אַמאָל איר ווע געטאן עפּעס מיט די געזונט אין איין נאָדע,
פאָרן עס אויף צו די ווייַטער נאָדע.
אזוי מיר האָבן די מקור, עס קאַנעקץ צו די אַנאַליזער,
די אַנאַליזער טוט עפּעס מיט אים, עס גייט צו דיסטאָרשאַן, און אַזוי אויף,
און צו די דעסטיניישאַן אין די דנאָ רעכט דאָ.
קיל.
גוט, אַזוי מיר וועט האַלטן מאָווינג אויף.
>> די פּיפּעלינע-- ווידער, די זענען די מערסט פּראָסט פּייפּליינז,
אַזוי מיר רעדן וועגן אַלע די זאכן ווי דיסטאָרשאַן, פּאַנינג, אַלע דעם שטאָפּן.
אויב איר ניטאָ טאַקע אינטערעסירט אין ניצן זאכן פּראָ מכשירים,
יענע מיסטאָמע אינטערעס איר.
אויב נישט, אפֿשר איר נאָר ווילן צו שפּילן די געזונט,
אָדער אפֿשר איר נאָר ווילן צו שטעלן די באַנד אויף די געזונט.
יענע זענען די צוויי מערסט פּראָסט סאָרט פון פּייפּליינז אין אַודיאָ פּראָדוקציע.
>> ווידער, די וועגן איר קענען נעמען עס אין ווי אַ אָססיללאַטאָר-- אַזוי, לאָזן ס
טאָן אַ דער דעמאָ פון וואָס רעכט דאָ.
אַזוי מיר רע געגאנגען צו מאַכן אַ פּשוט אַודיאָ קאָנטעקסט דאָ,
און פון וואָס מיר רע געגאנגען צו שאַפֿן אונדזער אַסאַלייטער.
אַזוי אַז איז, ווידער, מיר ניטאָ פּונקט געגאנגען צו רופן שאַפֿן אָססיללאַטאָר.
מיר רע געגאנגען צו שטעלן אַ אָפטקייַט אויף אַז, 440 הערטז, אַלעמען ס באַליבט.
דעמאָלט מיר פאַרבינדן אַז צו די דעסטיניישאַן פּאָינט-- וואָס איז די רעדנער, אַזוי
דעם קאָנטעקסט דעסטיניישאַן.
צום סוף, מיר נאָר זאָגן, אָנהייב נול סעקונדעס פון איצט, און טאָן מיר האָבן געזונט?
>> [רינגינג]
>> יו זאַבריסקיע: דאָ מיר גיין.
עס ס נאָר אַ סינוס כוואַליע.
גוט, אָפּקילן.
און דעמאָלט מיר וועט האַלטן אַז.
>> וילעם: ווו האט אַז באַמערקונגען קומען פון?
>> יו זאַבריסקיע: די באַמערקונגען?
טאַקע, מיסטאָמע אונדזער מיקראָפאָנעס.
אזוי יאָ, אַז ס ווי איר טאָן עס.
און אַקשלי, אויב איך געהאט געהאלטן עס פליסנדיק, איר
קען האָבן די אָפטקייַט ווערט ווי עס ס פליסנדיק,
אַזוי אַז ס אַ שפּאַס זאַך צו שפּילן אַרום.
קיל.
אַז ס שטענדיק אַ שיינע איינער צו פאָרשטעלן.
>> סאַם גרין: מיר האבן נישט טראַכטן וועגן וואָס, האט מיר?
יו זאַבריסקיע: יאָ, אַז ס אַ פּאַסקודנע איינער.
אַזוי, Buffer לאָאַדינג-- איך וועט ווייַזן אַ לעמאָשל פון אַז אין די זייער סוף.
אַז ס לאָודינג אַ mp3.
און מיקראָפאָן, איר נוצן נאָר אַ פֿונקציע גערופֿן נאַוויגאַטאָר.געטוסערמעדיאַ ()
צו בעטן צוטריט צו דער באַניצער ס מיקראָפאָן פֿאַר אַז אינפֿאָרמאַציע.
>> דאָ ס פֿילטרירונג, איך וועט נאָר האַלטן מאָווינג פון דעם.
דאס איז שיין הויך מדרגה, אָבער Filters נאָר לאָזן איר צו
>> [ביפּינג]
פֿילטריר אויך אַלאַוז איר צו מאַכן זאכן ווי ראָזעווע
ראַש, ברוין ראַש, ווייַס ראַש.
אויב איר ווילן צו מאַכן ריין ראַש, וואָס עטלעכע מענטשן ליבע צו באַלאַגאַן אַרום מיט,
איר קענען נוצן וועב אַודיאָ פֿילטרירונג צו טאָן אַז.
>> אַודיאָ פּאַננינג-- אַזוי ימאַדזשאַן אויב איר ניטאָ שרייבן אַ שפּיל
און איר ווילן די געזונט צו געזונט ווי עס ס קומענדיק, ווי,
שיסערייַ אַריבער דעם עקראַן, איר קענען נוצן די פּאַנינג פון די אַודיאָ
צו מאַכן דעם מין פון שישקע, וואָס ליקע-- עס ס שיין מאַטהי,
אָבער עס ס אַקטשאַוואַלי טאַקע קיל אויב איר באַקומען עס אַרבעט,
און עס ס עטלעכע גוט טוטאָריאַלז אויף עס איך קענען שיקן איר.
באַסיקאַללי, איר קענען מין פון שאַפֿן געזונט
פון עפּעס געגאנגען דורך אין אַ 3 ד וועג.
און אויב איר האָבן אַ דדזש אינטערעס, איר קענען אָנהייבן מיקסינג און קרייַז Fading לידער.
>> דאס איז נאָר עטלעכע זייער יקערדיק קאָד, בייסיקלי וואָס איך האבן פֿאַר.
דעם שטעלט די באַנד פון די אַסאַלייטער, אַזוי מיר שאַפֿן אונדזער אַסאַלייטער
וואָס קריייץ די וואַוועפאָרם.
מיר מאַכן אונדזער גאַיננאָדע, שטעלן אונדזער אָפטקייַט,
און דעמאָלט פאַרבינדן די אַסאַלייטער צו די גאַיננאָדע, וואָס דעמאָלט בייסיקלי ענדערונגען
ווי פיל סיגנאַל איז ערלויבט דורך.
אבער טאַקע, עס ס אַ דיגיטאַל זאַך, אַזוי עס ס מער דזשוסט-- יאָ.
אַז ס 'נישט וואָס ס אַקטשאַוואַלי געשעעניש, אָבער אַז ס וואָס כאַפּאַנז אין פאַקטיש לעבן
מיט אַ געווינען.
>> וילעם: --קוואַנטיזאַטיאָן פון דעם באַנד פּאַראַמעטער?
יו זאַבריסקיע: אנטשולדיגט?
וילעם: איז עס אַ קוואַנטיזעד באַנד פּאַראַמעטער?
יו זאַבריסקיע: יאָ.
און דעם איז איין זאַך איך בין טאַקע דעפיסיענט אויף אין מיין וויסן,
ווי געווינען אַרבעט אויף אַ דיגיטאַל מדרגה.
איך וויסן מיט פאַקטיש סיגנאַלז, עס ס בייסיקלי
קאַנטראָולינג ווי פיל איר ניטאָ אַמפּליפיינג די סיגנאַל.
אַזוי, יאָ.
איך וועט שיקן איר מער אינפֿאָרמאַציע וועגן אַז, ווייַל איך'ד זיין טשיקאַווע אַקטשאַוואַלי
צו וויסן מער וועגן אַז.
אבער בייסיקלי די פּאַראַמעטערס זענען, איינער איז די פאָלד--
די לאַודער סיגנאַל-- און נול איז ניט סיגנאַל, אָדער איר וועט ניט הערן קיין געזונט.
מיר וועט האָפּקען דעמאָ צייַט פֿאַר אַז ווייַל עס ס בייסיקלי וואָס איך האבן פֿאַר.
און ווידער, די קאָנטעקסט.דעסטינאַטיאָן איז די אַודיאָ דעסטיניישאַן נאָדע.
אָסאַם, גוט.
>> אַזוי איך בין געגאנגען צו טאָן אַ שנעל צוויי דעמאָס.
ווי זענען מיר טאן אויף צייַט?
>> רעדנער 1: וועגן 10 מינוט.
>> יו זאַבריסקיע: 10 מינוט?
גרויס!
אָסאַם.
>> אַזוי דער ערשטער איינער איך בין געגאנגען צו טאָן, עס ס גערופֿן מיין באַליבט ליד.
אַזוי דאָס איז נאָר אַ קליין HTML דזשאַוואַסקריפּט.
מיר ניטאָ געגאנגען צו האָבן צוויי קנעפּלעך אויף דעם בלאַט שפּילן מיין באַליבט ליד
און האַלטן מיין באַליבט ליד.
איך וועט טוישן דעם.
>> וילעם: דעקן דיין מיקראָפאָן.
>> יו זאַבריסקיע: יאָ.
און איך ווע לאָודיד אין דאָ אַ שריפט אַז באַסיקאַללי--
און דאָס איז טאַקע נוציק פֿאַר לאָודינג אַ mp3,
אַזוי דעם נאָר מאכט לאָודינג מפּ 3 ס וועג שנעלער.
עס ס בייסיקלי נאָר אַ ראַפּער.
עס נאָר מאכט דעם פּראָצעס פון לאָודינג אין מפּ 3 ס פיל Faster,
אַנדערש איר ניטאָ ניצן הטטפּ בעטן, מין פון ווי וואָס מיר זענען טאן
אויף דעם קראַנט שטיק שטעלן מיט סערווירער.
עס ס טאַקע מיעס, איר טאָן ניט ווילן צו טאָן עס.
>> אַזוי דעם באָכער, באָריס סמוס, געשריבן אַ טאַקע נוציק קליין געצייַג גערופֿן בופפערלאָאַדער.
כל איר טאָן איז נאָר פאָרן עס די קאָנטעקסט, איר פאָרן עס אַ ליסט--
אָדער, יאָ, איז עס אַ רשימה אין דזשאַוואַסקריפּט?
סאַם גרין: אַ מענגע.
יו זאַבריסקיע: אָה, עס איז אַ מענגע, אַז ס רעכט.
עס ס אַ מענגע פון ​​פּאַטס צו פאַרשידענע טעקעס.
און דעמאָלט איר פאָרן עס אַ פֿונקציע.
דאס איז די קאַללבאַקק מיר האבן גערעדט וועגן מיט ייסינגקראַנאַס לאָודינג.
אַז וועט זיין גערופֿן אַמאָל די טעקעס לאָודיד.
און אַז פֿונקציע וואָס איז גערופֿן ווען דער טעקע ס לאָודיד נעמט ווי אַ פּערימעטער
אַ מענגע פון ​​לאָודיד בופפערס.
אַזוי אַז אַקערז דאָ.
באַסיקאַללי, בופפערליסט איז געגאנגען צו זיין איינער וואַלוע--
אָדער עס ס געגאנגען צו זייַן אַ מענגע פון לענג איינער, וואס האט אין אים אין אינדעקס
נול די גאנצע לאָודיד טעקע פון ​​די mp3.
אזוי וואָס איך טאָן ווען איך ענדיקן לאָודינג איז, איך נאָר
שאַפֿן אַ Buffer מקור, וואָס איז אַ אַודיאָ Buffer מקור נאָדע.
די ווייַטער שריט איז איך מאַסע אין די סאָורסע.בופפער ווי די פול לאָודיד Buffer
פון די בופפערליסט-- עס ס אַ פּלאַץ פון בופפערס--
און דעמאָלט איר פאַרבינדן אַז אַודיאָ Buffer צו די דעסטיניישאַן.
אַזוי וואָס עס ס געגאנגען צו טאָן איז נאָר נאָר שטעלן די mp3
גלייַך דורך צו די פּראָדוקציע, און אָנהייבן עס מיד
אויף געטינג דעם רוף.
>> קיל, אַזוי לאָזן ס זען דעם פּאַסירן אין קאַמף.
מיין [ינאָדאַבאַל] דאָ, לאָזן ס זען.
אזוי איך בין נאָר געגאנגען צו אָנהייבן אַ יקערדיק סערווער.
אַז ס עפּעס וואָס איר דאַרפֿן צו טאָן אויב איר ניטאָ
מאכן ריקוועס פֿאַר לאָודינג טעקעס.
איך בין געגאנגען צו אָנהייבן אַ יקערדיק סערווער.
דעם איז בייסיקלי דיין גאנצע פּסעט רעכט איצט אין איין שורה,
אָבער עס ס נאָר סטאַרטינג אַ שליח אויף פּאָרט 80/80.
אזוי מיר גיין איבער דאָ, מיר געגאנגען צו מאַסע 80/80,
מיר רע געגאנגען צו גיין צו מיין באַליבט ליד.
אַזוי אויב איך שלאָגן "שפּיל מיין באַליבט ליד "רעכט איצט,
עס ס געגאנגען צו מאַסע מיין באַליבט ליד און שפּילן יט--
[מוזיק - די עאַגלעס, "לעבן אין די שנעל שטעג "]
--ווהיטש כאַפּאַנז צו זיין "לעבן אין די שנעל ליין "דורך די עאַגלעס.
איצט, איך קען שלאָגן "האַלטן מיין באַליבט ליד "און ריפּליי עס.
>> [מוזיק - די עאַגלעס, "לעבן אין די שנעל שטעג "]
>> און אויב איך גיין איבער צו קאַנסאָול, ווייַל איך געוויינט אַ גלאבאלע בייַטעוודיק איבער דאָ
צו האַלטן שפּור פון דעם ווערט, עס אַקשלי וועט איצט זיין אנערקענט אין די קאַנסאָול.
אזוי עס אַוטאָ-קריייץ פֿאַר מיר.
אַזוי אַז ס וואָס ס פּלייינג רעכט איצט, און איך קענען נאָר רופן סאָורסע.סטאָפּ ()
אויף אַז.
נו, איר וויסן וואָס?
פּונקט אַזוי איר גייז האָבן געהערט דעם סאָנג-- איר זאל דערקענען דעם ליד.
>> [מוזיק - ריק אַסטליי, "קיינמאָל גאַנאַ געבן איר אַרויף "]
[מוזיק - די עאַגלעס, "לעבן אין די שנעל שטעג "]
מיר ווע איצט אַלע געווען ריקקראָללעד.
גוט, גרויס, מאָווינג אויף.
קיל.
אזוי דעם איז בייסיקלי אַ משל פון פּונקט ווי איר געקענט מאַסע אַ mp3 פילע--
[מוזיק - די עאַגלעס, "לעבן אין די שנעל שטעג "]
--אַנד שפּילן עס, און האַלטן און אָנהייב עס.
איך קען האָבן געטאן אַ פּלאַץ מער [ינאָדאַבאַל]
>> די לעצטע איינער איך וועט טאָן איז, איך וועט ווייַזן איר אַ [ינאָדאַבאַל].
>> [מוזיק פּלייינג]
>> עס ס ווי, אָגג.וואַווע.מפּ3.
איך טראַכטן, אויב איך געדענקען ריכטיק, איך ווע לויפן אין עטלעכע ישוז מיט .מ4אַ,
אָבער איך בין ניט זיכער וועגן וואָס.
איך טראַכטן מפּ3.וואַווע--
>> [מוזיק - ריק אַסטליי, "קיינמאָל גאַנאַ געבן איר אַרויף "]
>> גוט, גרויס.
איך זאָל ניט האָבן געזאגט אַז.
עניוויי, העלא.
אַזוי מיר האָבן דעם עפענען.
אַזוי איצט אַלע איך טאָן איז, איך בייסיקלי Created אַ יקערדיק סינטאַקס פֿאַר קריייטינג מוזיק.
אַזוי אויב איך טאָן עפּעס ווי, לייגן ג 4 אויף 1 2, וואָס אַז מיטל איז אַז,
לייגן די פּיאַנע טאָן, ג 4, וואָס איז די פערט ג
אַרויף אויף די פּיאַנע פון ​​די דנאָ.
אזוי דעם איז מין פון מידי רעדן, אַזוי פֿאַר די וואס זענען מוזיק באזירט,
דעם איז נאָר מידי הערות.
>> וילעם: אַז ס די ג פון די מיטל C, רעכט?
>> יו זאַבריסקיע: דאס איז די ג אויבן מיטל C, אַז ס רעכט.
>> וילעם: אויבן מיטל סי
>> יו זאַבריסקיע: יאָ.
אַקטואַללי, יאָ.
איך טראַכטן איך טאקע געמאכט עס איינער [ינאָדאַבאַל],
אַזוי דעם זאל זיין אַ אָקטאַוו אויבן אַז.
אַזוי לאָזן ס זען.
אויב איך שלאָגן פּלייַ--
[ריפּעטיטיוו פּיאַנע נאָטיץ]
--ווע'רע געגאנגען צו הערן אַז.
דער געדאַנק איז אַז עס אַפּערייץ פּונקט ווי אַ באַפֿעל שורה וואָלט,
אַזוי אויב איך גיין אַרויף און אַראָפּ אויף מיין קלאַוויאַטור, איר
קענען גיין צוריק צו פרייַערדיק קאַמאַנדז, וואָס איז שיין נוצלעך.
און ווייטער איז מיין רשימה פון טראַקס, וואָס זענען אַלע פליסנדיק אויף שלייף.
>> וילעם: איר זענען אַסומינג די 88-שליסל קלאַוויאַטור אויף אַז, רעכט?
>> יו זאַבריסקיע: די קשיא איז, איך אַסומינג אַ 88-שליסל קלאַוויאַטור,
און יאָ, איך בין.
וואָס איך האבן איז איך בייסיקלי גענומען 88 סאַמפּאַלז
פון די פּיאַנע, איינער פֿאַר יעדער טאָן.
און אַזוי יעדער צייַט איר הערן אַ טאָן פון איצט אויף,
וואָס איז אַקטשאַוואַלי אַ שלייף וואָס קוקט ליקע-- דעם איז געטינג פּלייַעד אויף שלייף,
אַזוי פֿאַר יעדער טאָן, דאָס איז פליסנדיק.
וואָס כאַפּאַנז איז, איך שאַפֿן אַ Buffer ווידער,
איך מאַכן אַ געווינען נאָדע צו שטעלן די באַנד.
דאס נאָר אַ טאַקע קאָמפּליצירט וועג פון געזאגט איך
קראָם די Buffer אין אַ סאָורסע.בופפער.
איך געבן עס די געווינען, איך פאַרבינדן עס צו די געווינען,
די געווינען איז קאָננעקטעד צו די רעזולטאַט, און דעמאָלט איך שפּילן עס.
אַזוי אַז איז מין פון דעם פּראָצעס פון גענומען אין אַ Buffer מקור.
>> וילעם: קען איר אַקטשאַוואַלי נעמען אַז טרוקן געזונט און מאַכן עס נאַס [ינאָדאַבאַל]?
>> יו זאַבריסקיע: איר קענען, יאָ.
עס ס שייַעך-ווערב, עס ס פאַרהאַלטן, דיסטאָרשאַן.
איר קענען בייסיקלי שטעלן עפּעס אין צווישן אין אַז סענדוויטש אָפ-- געזונט,
רערנ איז אַ בעסער מעטאַפאָר, אָבער איר קענען לייגן עפּעס אין וואָס.
קיל.
>> אַזוי איך וועט ענדיקן די דעמאָ דאָ צו געבן איר אַ זינען
פון נאָר די לויטער נומער פון מאל איר קענען לויפן אַז פֿונקציע אַלע אין אַמאָל.
אַזוי איך בין געגאנגען צו באַזייַטיקן דעם.
איך בין געגאנגען צו שאַפֿן אַ גענעראַטאָר טהאַט-- בייסיקלי וואָס דאָעס-- דאָס איז טאַקע
מין פון אַ קאָמפּליצירט סינטאַקס-- אָבער עס ס געגאנגען צו דזשענערייט הערות אויף די פליען,
און נאָר אָנהייב פּלייינג זיי ווי עס יוואַליוייץ זיי.
[ינטערפּאָסינג פּיאַנע]
>> אַזוי מיר קענען נאָר מאַכן אַ ביסל מוזיק דאָ.
[ינטערפּאָסינג פּיאַנע]
>> אזוי וואָס דעם באַפֿעל טוט, למשל, איז
עס נעמט די דרייַ הערות פֿאַר די פּיאַנע און דעמאָלט שטעלט זיי אויף ב 3.
דעם סינטאַקס זאל מאַכן אַ ביסל מער געפיל
צו די וואס האָבן אַ מוזיק הינטערגרונט דאָ.
>> איך קענען לייגן אַ בריק פּויק.
איך קאַנ--
>> [ינטערפּאָסינג ינסטראַמאַנץ]
>> --דזשוסט שפּילן אַרום מיט וואָס.
>> אַזוי איר קענען מאַקע--
[ינטערפּאָסינג ינסטראַמאַנץ]
אַז איינער ס אַ ביסל מער אַנויינג.
[ינטערפּאָסינג ינסטראַמאַנץ]
>> אַזוי אַז ראַנדאַמלי מוסיף אַ טרוקן סימבאַל אויף יעדער 16th טאָן, מיט אַ 16%
[ינאָדאַבאַל].
>> [ינטערפּאָסינג ינסטראַמאַנץ]
>> יאָ, אַזוי די וועג דעם וואָרקס-- עס ס שטענדיק אין 4: 4.
[ינטערפּאָסינג ינסטראַמאַנץ]
>> יאָ, אַזוי די 4/4, און 16/8.
[ינטערפּאָסינג ינסטראַמאַנץ]
>> אַזוי אויף דורכשניטלעך, איר באַקומען 60% פון היץ אויף די 16 הערות.
>> עניווייז, דעם איז נאָר מין פון צו ווייַזן אַוועק
עטלעכע פון ​​די זאכן איר קען בויען מיט די וועב אַודיאָ אַפּי.
עס ס טאַקע שטאַרק, עס ס טאַקע שנעל, און איר קענען מאַכן אַ פּלאַץ פון קיל זאכן
מיט אים.
אַזוי ווידער, קיין שאלות איר האָבן, בליצפּאָסט מיסעלפ-- הוגה-- אָדער סאַם,
און האָנעסטלי, גוגל האט אַ טאָן פון גוט רעסורסן.
קיין לעצטע שאלות?
יאָ.
>> וילעם: אזוי איר קענען צוטריט די געבויט-אין מיקראָפאָן.
וואָס אויב איר געוואלט צו נוצן אַ בעסער מיקראָפאָן?
יו זאַבריסקיע: אויב איר געוואלט צו נוצן בעסער מיקראָפאָן?
אַזוי ווידער, דאָס איז אַ טייל פֿון דער אַבסטראַקציע צווישן קראָום
און די מנוחה פון אייער קאָמפּיוטער.
סיידן עס ס בנימצא דורך אַן אַפּי, ווי וועב מידי אַפּי,
איר קען מיסטאָמע געפֿינען עטלעכע כאַקס, אָבער בכלל נישט ווי פעאַסיבלע.
>> סאַם גרין: איר קענען אַלסאָ-- אַלע די קראָום ווייסט
איז וואָס דיין ניט ויסצאָלן מיקראָפאָן איז, און עס אַקסעססעס אַז.
אַזוי אויב איר האט אַ מיקראָפאָן איר קען שטעלן ווי קאָמפּיוטער ס Default מיקראָפאָן,
איר קען צוטריט עס אַז וועג און עס וואָלט מיסטאָמע אַרבעט.
יו זאַבריסקיע: אַז ס אַ גוט פונט.
איך ווע קיינמאָל פּרובירן וואָס, אָבער איר זאל קענען צו מין
אָפ-- אויב איר רידערעקט די ינפּוט רעדנער, איר זאל קענען צו טאָן אַז, יאָ.
>> קיין לעצטע שאלות?
קיל.
נו דאַנקען איר גייז אַזוי פיל פֿאַר וואַטשינג.
איך בין יו.
סאַם גרין: איך בין סאַם.
יו זאַבריסקיע: און דעם איז קס50.