Latest web development tutorials

نود.جي إس كائن العالمي

جافا سكريبت لديها وجوه الخاص، ويسمى الكائن العالمي (كائن عمومي)، أنه وجميع خصائصها يمكن الوصول إلى أي مكان في البرنامج، المتغير العالمي.

متصفح جافا سكريبت عادة هو كائن الإطار العالمي، الكائن العالمي نود.جي إس هو عالمي، كل المتغيرات العالمية (باستثناء نفسها العالمي) هي ملك لكائن العالمي.

في نود.جي إس لنا الوصول المباشر إلى خصائص العالمية، من دون الحاجة إلى إدراجه في التطبيق.


الأشياء العالمية والمتغيرات العالمية

الدور العالمي الأكثر أهمية كمضيف المتغير العالمي. بواسطة ECMAScript تعريف تلبية الشروط التالية المتغيرات العالمية:

  • تعريف الأبعد متغير.
  • خصائص الكائن العالمي؛
  • تعرف ضمنا (الاحالة المباشرة متغيرات غير معروف) متغير.

عند تعريف متغير عالمي، فإن المتغير أيضا أن تصبح ملكا للكائن العالمي، والعكس بالعكس. لاحظ أنه في نود.جي إس أنت لا يمكن تعريف المتغيرات في الأبعد، لأن كل رموز المستخدم هي جزء من وحدة الحالية، وحدة في حد ذاته ليس سياق الأبعد.

ملاحظة: دائما استخدام فار لتحديد المتغيرات من أجل تجنب إدخال متغير عمومي، لأن المتغيرات العالمية سوف يلوث مساحة الاسم، تزيد من خطر رمز اقتران.


__filename

__filename يشير إلى اسم ملف البرنامج النصي يتم تنفيذه حاليا.المسار المطلق إلى الموقع حيث سيكون ملف الإخراج، والمعلمة سطر الأوامر وتحديد اسم الملف ليس بالضرورة نفس الشيء. واذا كان في وحدة، والقيمة التي تم إرجاعها المسار إلى ملف الوحدة النمطية.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

// 输出全局变量 __filename 的值
console.log( __filename );

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
/web/com/w3big/nodejs/main.js

__dirname

__dirname يمثل يقع الدليل النصي تنفذ حاليا.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

// 输出全局变量 __dirname 的值
console.log( __dirname );

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
/web/com/w3big/nodejs

setTimeout (سي بي، مللي ثانية)

setTimeout (سي بي، مللي ثانية) وظيفة العالمية تؤدي وظيفة محددة بعد عدد معين من ميلي ثانية (مللي ثانية) عدد (CB).: يتم تحديد وظيفة SetTimeout () مرة واحدة فقط.

فإنها ترجع تمثل قيمة مقبض الموقت.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
setTimeout(printHello, 2000);

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
Hello, World!

clearTimeout (ر)

يستخدمclearTimeout (ر) لوقف وظيفة العالمية قبل تمرير setTimeout () لإنشاء جهاز توقيت.المعلمةر من قبل وظيفة setTimeout () لإنشاء آلة حاسبة.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
var t = setTimeout(printHello, 2000);

// 清除定时器
clearTimeout(t);

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js

setInterval (سي بي، مللي ثانية)

setInterval (سي بي، مللي ثانية) وظيفة العالمية تؤدي وظيفة محددة بعد عدد معين من ميلي ثانية (مللي ثانية) عدد (CB).

فإنها ترجع تمثل قيمة مقبض الموقت. يمكنك استخدام وظيفةclearInterval (ر) لمسح الموقت.

وسوف تستمر طريقة setInterval () لاستدعاء الدالة حتى clearInterval () يسمى أو إغلاق النافذة.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
setInterval(printHello, 2000);

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
مرحبا، العالم! مرحبا، العالم! مرحبا، العالم! مرحبا، العالم! مرحبا، العالم! ......

سيقوم البرنامج أعلاه الإخراج مرة واحدة كل ثانيتين "مرحبا، العالم!"، وسوف يكون بشكل دائم إعدام يستمر حتى تضغطCTRL + C الزر.


وحدة التحكم

وحدة التحكم وحدة التحكم عن توفير الإخراج القياسي، الذي هو أدوات التصحيح التي يقدمها مشغل JScript إنترنت إكسبلورر، لتصبح فيما بعد بحكم الأمر الواقع متصفح قياسي.

نود.جي إس يلي هذا المعيار، يوفر سلوك متناسقة وعادات الكائن حدة تستخدم لتيار معيار الناتج (المعياري) أو معيار تيار الخطأ (ستدير) حرفا الانتاج.

طريقة وحدة التحكم

ما يلي هو كائن وحدة التحكم:

لا. طريقة ووصف
1 console.log ([البيانات] [... ])
إلى الأحرف الطباعة دفق إخراج القياسية ونهاية مع سطر جديد. هذا الأسلوب يأخذ العديد من المعلمات، إذا كان هناك معلمة واحدة فقط، وسلسلة إخراج هذه المعلمة. إذا كانت هناك حجج متعددة، أماكن مثل لغة C printf () شكل إخراج الأمر.
2 console.info ([البيانات] [... ])
ف هو دور الأمر بإرجاع رسالة إعلامية، الأمر هو الفرق console.log ليست كبيرة، بالإضافة إلى الكروم سيتم إخراج النص فقط، والباقي تظهر علامة تعجب الزرقاء.
3 console.error ([البيانات] [... ])
الناتج رسالة خطأ. سيتم عرض وحدة التحكم باللون الأحمر عند حدوث خطأ شوكة.
4 console.warn ([البيانات] [... ])
رسالة تحذير من الانتاج. يبدو وحدة مع علامة تعجب صفراء.
5 console.dir (الكائنات [خيارات])
كائن يستخدم لفحص (فحص)، وسهلة القراءة إلى عرض وطباعة الأشكال.
6 console.time (التسمية)
خرج الوقت، وقت البدء.
7 console.timeEnd (التسمية)
ينتهي الوقت، مما يدل على نهاية توقيت.
8 console.trace (الرسالة [...])
كود حاليا بتنفيذ طريق الدعوة في المكدس، تشغيل هذا اختبار وظيفة مفيدة، نريد فقط لاختبار وظيفة التي انضمت console.trace على خط المرمى.
9 console.assert (القيمة [، الرسالة] [ ...])
لتحديد ما إذا كان متغير أو تعبير غير صحيح، استغرق معلمتين، المعلمة الأولى هي التعبير والحجة الثانية هي سلسلة. فقط عندما الوسيطة الأولى هي كاذبة، سوف يكون الإخراج الوسيطة الثانية، فإنه لن يكون له أي نتائج.
console.log (): الطباعة إلى تيار الإخراج القياسي وتنتهي مع حرف السطر الجديد.

console.log يقبل العديد من المعلمات، إذا كان هناك معلمة واحدة فقط، وسلسلة إخراج هذه المعلمة. إذا كانت هناك حجج متعددة، أماكن مثل لغة C printf () شكل إخراج الأمر.

المعلمة الأولى هي سلسلة، بدون معلمات، فقط طباعة سطر جديد.

console.log('Hello world'); 
console.log('byvoid%diovyb'); 
console.log('byvoid%diovyb', 1991); 

النتائج التشغيلية على النحو التالي:

Hello world 
byvoid%diovyb 
byvoid1991iovyb 
  • console.error (): مع console.log () يستخدم نفسه، ولكن الإخراج إلى تيار الخطأ المعياري.
  • console.trace (): خطأ تيار إلى الإخراج القياسي مكدس الاستدعاءات الحالي.
console.trace();

النتائج التشغيلية على النحو التالي:

Trace: 
at Object.<anonymous> (/home/byvoid/consoletrace.js:1:71) 
at Module._compile (module.js:441:26) 
at Object..js (module.js:459:10) 
at Module.load (module.js:348:31) 
at Function._load (module.js:308:12) 
at Array.0 (module.js:479:10) 
at EventEmitter._tickCallback (node.js:192:40)

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

console.info("程序开始执行:");

var counter = 10;
console.log("计数: %d", counter);

console.time("获取数据");
//
// 执行一些代码
// 
console.timeEnd('获取数据');

console.info("程序执行完毕。")

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
程序开始执行:
计数: 10
获取数据: 0ms
程序执行完毕

عملية

العملية هي المتغير العالمي أن السمة الكائن العالمي.

فهو يستخدم لوصف الحالة الراهنة لعملية نود.جي إس الكائن، فإنه يوفر واجهة بسيطة لنظام التشغيل. وعادة ما تكتب برنامج سطر الأوامر الأصلي، وفي نهاية المطاف، للتعامل معها. وفيما يلي سوف أعرض بعض من الأسلوب الأكثر شيوعا من عملية يعترض أعضاء.

لا. الأحداث والوصف
1 خروج
حرائق عند عملية مستعدة لإنهاء.
2 beforeExit
يتم تشغيل هذا الحدث عند عقدة فارغة حلقة الحدث، كما لا توجد ترتيبات أخرى. عموما، عندما لا يكون هناك عملية لترتيب عقدة الخروج، ولكن المستمعين beforeExit "يمكن أن يسمى بشكل غير متزامن، لذلك سوف تستمر هذه العقدة.
3 uncaughtException
عندما محتدما استثناء إلى الحدث حلقة، يؤدي هذا الحدث. إذا قمت بإضافة جهاز العرض لاستثناء، والعمل الافتراضي (طباعة على تتبع مكدس والخروج) لن يحدث.
4 يتم تشغيلإشارة عندما الحدث<BR> عندما يتلقى عملية إشارة. ترى قائمة من أسماء إشارة POSIX إشارة مستوى مثل SIGINT، SIGUSR1 وهلم جرا.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

process.on('exit', function(code) {

  // 以下代码永远不会执行
  setTimeout(function() {
    console.log("该代码不会执行");
  }, 0);
  
  console.log('退出码为:', code);
});
console.log("程序执行结束");

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
程序执行结束
退出码为: 0

رموز الحالة خروج

رموز الحالة الخروج على النحو التالي:

قانون الأحوال العنوان والوصف
1 استثناء فادح Uncaught
هناك استثناء uncaught، ولم يتم معالجتها أو مجال uncaughtException معالج.
2 غير مستخدمة
استبقاء
3 خطأ جافا سكريبت تحليل داخلي
شفرة جافا سكريبت مصدر تحليل خطأ تسبب عند بدء عملية عقدة. نادرا جدا، فقط عندما تكون هناك في تطوير عقدة.
4 الفشل جافا سكريبت التقييم الداخلي
جافا سكريبت عملية بدء التشغيل مصدر عقدة، عند تقييم الدالة بإرجاع فشل. نادرا جدا، فقط عندما تكون هناك في تطوير عقدة.
5 خطأ فادح
V8 في خطأ غير قابل للاسترداد قاتلة. طباعة عادة إلى ستدير، المحتوى: خطأ فادح
6 غير مهمة معالج استثناء داخلي
استثناء Uncaught، معالج استثناء داخل مجموعة بطريقة أو بأخرى على وظيفة، ولا يمكن أن يسمى.
7 استثناء داخلي فشل معالج وقت التشغيل
استثناء Uncaught، ومعالج استثناء للتعامل مع تلقاء نفسها يطرح استثناء. على سبيل المثال، إذا process.on ( 'uncaughtException') أو domain.on ( 'خطأ') يطرح استثناء.
8 غير مستخدمة
استبقاء
9 وسيطة غير صالحة
قد يكون غير معروف على المعلمات أو المعلمة إلى أي قيمة.
10 الفشل الداخلية جافا سكريبت وقت التشغيل
يتم طرح شفرة جافا سكريبت المصدر عند بدء أخطاء عملية عقدة، نادرة جدا، فقط عندما تكون هناك في تطوير عقدة.
12 حجة التصحيح غير صالحة
مجموعة --debug معلمة و / أو --debug-BRK، ولكنه اختار المنفذ غير صحيح.
> 128 مخارج إشارة
إذا تلقت عقدة إشارة خطيرة مثل SIGKILL أو SIGHUP، ثم رمز خروج 128 بالإضافة إلى رمز إشارة. هذا هو ممارسة يونكس القياسية، رمز كبير على إشارات الخروج.

سمات عملية

توفر عملية العديد من الخصائص المفيدة، وسهولة التفاعل نتمكن من التحكم بشكل أفضل في النظام:

عدد. الملكية والوصف
1 المعياري
تيار الإخراج القياسي.
2 ستدير
تيار الخطأ المعياري.
3 ستدين
تيار الإدخال القياسي.
4 ARGV
ARGV الملكية بإرجاع صفيف من مختلف المعلمات على تنفيذ البرنامج النصي سطر الأوامر عند تكوينها. أول أعضاؤها هم دائما عقدة، العضو الثاني هو اسم الملف النصي، وبقية الأعضاء والمعلمات من الملف النصي.
5 execPath
إرجاع المسار المطلق من الثنائيات الحالية عقدة تنفيذ البرنامج النصي.
6 execArgv
بإرجاع عضو صفيف قيد يتم تنفيذ البرنامج النصي سطر الأوامر بين معلمات سطر الأوامر ملف البرنامج النصي للتنفيذ عقدة.
7 الحياة الفطرية
بإرجاع كائن، أعضاء متغير قذيفة البيئة الحالية
8 exitCode
رمز إنهاء للعملية، وإذا كانت عملية الموهوبين من قبل process.exit () خروج، دون تحديد رمز إنهاء.
9 نص
نسخة عقدة، مثل v0.10.18.
10 إصدارات
خاصية الذي يحتوي على إصدارات عقدة وتوابعها.
11 التكوين
يستخدم الكائن الذي يحتوي على العقدة الحالية لتجميع الملف القابل للتنفيذ جافا سكريبت التكوين الخيارات. وهو نفس السيناريو المدى ./configure إنشاء ملف "config.gypi".
12 معرف المنتج
عدد العملية الحالية.
13 لقب
اسم العملية، الافتراضي هو "عقدة"، يمكنك تخصيص قيمة.
14 قوس
الهندسة المعمارية الحالية وحدة المعالجة المركزية: 'الذراع'، 'IA32 "أو" إلى x64 ".
15 منصة
تشغيل البرنامج حيث منصة 'داروين'، 'فري'، 'لينكس'، 'صن أو. إس "أو" Win32 و"
16 mainModule
require.main طرق بديلة. نقطة مختلفة، إذا تم تغيير وحدة رئيسية في وقت التشغيل، قد يستمر require.main للعودة إلى وحدة القديمة. ويعتقد أن كلا الرجوع إلى نفس الوحدة.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

// 输出到终端
process.stdout.write("Hello World!" + "\n");

// 通过参数读取
process.argv.forEach(function(val, index, array) {
   console.log(index + ': ' + val);
});

// 获取执行路局
console.log(process.execPath);


// 平台信息
console.log(process.platform);

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
Hello World!
0: node
1: /web/www/node/main.js
/usr/local/node/0.10.36/bin/node
darwin

دليل الطريقة المرجعية

العملية توفر الكثير من وسائل مفيدة لتسهيل سيطرة أفضل على نظام تفاعلي لدينا:

لا. طريقة ووصف
1 إجهاض ()
وسوف يتسبب هذا الحدث عقدة إحباط الزناد. فإنه سيتم إنهاء عقدة وإنشاء ملف الأساسية.
2 تشدر (الدليل)
تغيير دليل العمل الحالي من هذه العملية، إذا فشلت العملية رمي.
3 [كود] ()
إرجاع دليل العمل في العملية الحالية
4 الخروج ([كود])
في نهاية العملية مع رمز المحدد. إذا تم حذفها، فإنه سيتم استخدام رمز 0.
5 getgid ()
احصل على تحديد المجموعة العملية (انظر getgid (2)). عندما تم الحصول على مجموعة معرف رقمي، لا اسم.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
6 setgid (معرف)
وضع عملية تحديد المجموعة (انظر setgid (2)). يمكنك الحصول على هوية أو اسم المجموعة الرقمي. إذا قمت بتحديد اسم المجموعة سوف يعمل على حل لمنع الانتظار للحصول على معرف رقمي.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
7 getuid ()
احصل على عملية تحديد الهوية المستخدم (انظر getuid (2)). هذا هو اسم المستخدم الرقمية، وليس اسم المستخدم.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
8 setuid (معرف)
هوية المستخدم عملية وضع (انظر setuid (2)). تلقي معرف أو سلسلة اسم الرقمي. إذا قمت بتحديد اسم المجموعة سوف يعمل على حل لمنع الانتظار للحصول على معرف رقمي.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
9 getgroups ()
عودة مجموعة عملية معرف مجموعة. نظام POSIX لا يضمن أن يكون هناك، ولكن هناك مكفول نود.جي إس.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
10 setgroups (مجموعات)
مجموعة معرف مجموعة العملية. ومن المرخص لها بالعمل، كل ما تحتاجه لديك امتيازات الجذر، أو لديهم القدرة CAP_SETGID.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
11 initgroups (المستخدم، extra_group)
قراءة / الخ / مجموعة، وتهيئة قائمة وصول المجموعة، وتقع جميع أعضاء المجموعة. ومن المرخص لها بالعمل، كل ما تحتاجه لديك امتيازات الجذر، أو لديهم القدرة CAP_SETGID.
ملاحظة: هذه الوظيفة يمكن استخدام (على سبيل المثال، غير ويندوز والروبوت) فقط على منصات POSIX.
12 قتل (PID [، إشارة])
يرسل إشارة إلى العملية. PID هو معرف العملية، والإشارة هي السلسلة التي تصف الإشارة المرسلة. أسماء الإشارة هي سلاسل مثل 'SIGINT' أو 'SIGHUP ". إذا تم حذفها، فإن إشارة يكون "SIGTERM".
13 memoryUsage ()
تقوم بإرجاع الكائن الذي يصف العملية التي تستخدمها بايت حالة الذاكرة عقدة.
14 nextTick (رد)
مرة واحدة في نهاية الحلقة الحدث الحالية، ندعو مرة أخرى وظائف.
15 umask ([قناع])
تعيين أو قراءة عملية قناع الملف. العمليات التابعة ترث القناع عن عملية الأصل. إذا كانت الوسيطة قناع صالحة، فإنها ترجع قناع القديم. خلاف ذلك، فإنها ترجع قناع الحالي.
16 الجهوزية ()
إرجاع عدد الثواني عقدة قيد التشغيل بالفعل.
17 hrtime ()
قرار وقت العملية الحالية، في شكل [ثانية، نانو ثانية] مجموعة. فمن فيما يتعلق بأي حدث وقع في الماضي. هذه القيمة له علاقة مع التاريخ، وبالتالي لا يؤثر على الانجراف على مدار الساعة لا شيء. والغرض الرئيسي هو من خلال فاصل زمني دقيق لقياس أداء البرنامج.
قبل أن تتمكن من تمرير النتيجة إلى process.hrtime الحالي ()، فإنه سيعود لفارق التوقيت بين البلدين، للمرجعية وقياس الفترة الزمنية.

أمثلة

إنشاء ملف main.js، رمز على النحو التالي:

// 输出当前目录
console.log('当前目录: ' + process.cwd());

// 输出当前版本
console.log('当前版本: ' + process.version);

// 输出内存使用情况
console.log(process.memoryUsage());

ملف main.js التنفيذي، رمز على النحو التالي:

$ node main.js
当前目录: /web/com/w3big/nodejs
当前版本: v0.10.36
{ rss: 12541952, heapTotal: 4083456, heapUsed: 2157056 }