成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:說說 Node. js 有哪些全局對象?

開發(fā) 前端
在NodeJS里,是不可能在最外層定義一個變量,因為所有的用戶代碼都是當(dāng)前模塊的,只在當(dāng)前模塊里可用,但可以通過exports對象的使用將其傳遞給模塊外部。

[[403180]]

本文轉(zhuǎn)載自微信公眾號「JS每日一題」,作者灰灰。轉(zhuǎn)載本文請聯(lián)系JS每日一題公眾號。

 一、是什么

在瀏覽器 JavaScript 中,通常window 是全局對象, 而 Nodejs中的全局對象是 global

在NodeJS里,是不可能在最外層定義一個變量,因為所有的用戶代碼都是當(dāng)前模塊的,只在當(dāng)前模塊里可用,但可以通過exports對象的使用將其傳遞給模塊外部

所以,在NodeJS中,用var聲明的變量并不屬于全局的變量,只在當(dāng)前模塊生效

像上述的global全局對象則在全局作用域中,任何全局變量、函數(shù)、對象都是該對象的一個屬性值

二、有哪些

將全局對象分成兩類:

  • 真正的全局對象
  • 模塊級別的全局變量

真正的全局對象

下面給出一些常見的全局對象:

  • Class:Buffer
  • process
  • console
  • clearInterval、setInterval
  • clearTimeout、setTimeout
  • global

Class:Buffer

可以處理二進制以及非Unicode編碼的數(shù)據(jù)

在Buffer類實例化中存儲了原始數(shù)據(jù)。Buffer類似于一個整數(shù)數(shù)組,在V8堆原始存儲空間給它分配了內(nèi)存

一旦創(chuàng)建了Buffer實例,則無法改變大小

process

進程對象,提供有關(guān)當(dāng)前過程的信息和控制

包括在執(zhí)行node程序的過程中,如果需要傳遞參數(shù),我們想要獲取這個參數(shù)需要在process內(nèi)置對象中

啟動進程:

  1. node index.js 參數(shù)1 參數(shù)2 參數(shù)3 

index.js文件如下:

  1. process.argv.forEach((val, index) => { 
  2.   console.log(`${index}: ${val}`); 
  3. }); 

輸出如下:

  1. /usr/local/bin/node 
  2. /Users/mjr/work/node/process-args.js 
  3. 參數(shù)1 
  4. 參數(shù)2 
  5. 參數(shù)3 

除此之外,還包括一些其他信息如版本、操作系統(tǒng)等

console

用來打印stdout和stderr

最常用的輸入內(nèi)容的方式:console.log

  1. console.log("hello"); 

清空控制臺:console.clear

  1. console.clear 

打印函數(shù)的調(diào)用棧:console.trace

  1. function test() { 
  2.     demo(); 
  3.  
  4. function demo() { 
  5.     foo(); 
  6.  
  7. function foo() { 
  8.     console.trace(); 
  9.  
  10. test(); 

clearInterval、setInterval

設(shè)置定時器與清除定時器

  1. setInterval(callback, delay[, ...args]) 

callback每delay毫秒重復(fù)執(zhí)行一次

clearInterval則為對應(yīng)發(fā)取消定時器的方法

clearTimeout、setTimeout

設(shè)置延時器與清除延時器

  1. setTimeout(callback,delay[,...args]) 

callback在delay毫秒后執(zhí)行一次

clearTimeout則為對應(yīng)取消延時器的方法

global

全局命名空間對象,墻面講到的process、console、setTimeout等都有放到global中

  1. console.log(process === global.process) // true 

模塊級別的全局對象

這些全局對象是模塊中的變量,只是每個模塊都有,看起來就像全局變量,像在命令交互中是不可以使用,包括:

  • __dirname
  • __filename
  • exports
  • module
  • require

__dirname

獲取當(dāng)前文件所在的路徑,不包括后面的文件名

從 /Users/mjr 運行 node example.js:

  1. console.log(__dirname); 
  2. // 打印: /Users/mjr 

__filename

獲取當(dāng)前文件所在的路徑和文件名稱,包括后面的文件名稱

從 /Users/mjr 運行 node example.js:

  1. console.log(__filename); 
  2. // 打印: /Users/mjr/example.js 

exports

module.exports 用于指定一個模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容

  1. exports.name = name
  2. exports.age = age; 
  3. exports.sayHello = sayHello; 

module

對當(dāng)前模塊的引用,通過module.exports 用于指定一個模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容

require

用于引入模塊、 JSON、或本地文件??梢詮?node_modules 引入模塊。

可以使用相對路徑引入本地模塊或JSON文件,路徑會根據(jù)__dirname定義的目錄名或當(dāng)前工作目錄進行處理

參考文獻

http://nodejs.cn/api/globals.html

https://vue3js.cn/interview

 

責(zé)任編輯:武曉燕 來源: JS每日一題
相關(guān)推薦

2021-08-11 08:53:23

Git命令面試

2021-06-03 08:14:01

NodeProcessJavaScript

2021-08-02 08:34:20

React性能優(yōu)化

2024-07-26 08:10:10

2021-09-30 07:57:13

排序算法面試

2021-05-27 05:37:10

HTTP請求頭瀏覽器

2021-06-04 07:55:30

Node Fs 操作

2024-02-21 07:40:17

JVM內(nèi)存虛擬機

2021-06-10 07:51:07

Node.js循環(huán)機制

2025-04-01 00:00:00

項目CRUD單例模式

2024-06-04 09:02:03

2023-02-20 08:08:48

限流算法計數(shù)器算法令牌桶算法

2024-03-05 10:33:39

AOPSpring編程

2024-08-22 10:39:50

@Async注解代理

2021-09-26 10:57:16

集合操作場景

2021-09-27 06:50:04

非線性數(shù)據(jù)

2024-05-30 08:04:20

Netty核心組件架構(gòu)

2021-06-01 08:25:06

Node.jsJavaScript運行

2025-03-26 01:25:00

MySQL優(yōu)化事務(wù)

2024-03-07 17:21:12

HotSpotJVMHot Code
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产在线观看一区二区三区 | 91精品久久久久久久久中文字幕 | 天堂一区二区三区四区 | 亚洲性爰 | 国产在线永久免费 | 先锋影音资源网站 | 国产精品一区久久久 | 欧美成人在线免费 | 国产精品成人在线观看 | 蜜桃传媒av | 天堂亚洲 | 在线看av的网址 | 99re热精品视频国产免费 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 高清欧美性猛交xxxx黑人猛交 | 狠狠干网站 | 色婷婷av99xx| 一区二区三区四区在线视频 | 九一视频在线观看 | 91久久| 国产精品久久久久婷婷二区次 | 国产黄色在线观看 | 亚洲一级二级三级 | 日本久久久一区二区三区 | 中文字幕91av| 国产高清精品一区二区三区 | 国产线视频精品免费观看视频 | 久优草| 亚洲永久字幕 | 午夜免费观看体验区 | 欧美日韩一区在线播放 | 狠狠爱视频 | 在线观看 亚洲 | 色男人的天堂 | 不卡视频在线 | 蜜桃视频在线观看免费视频网站www | 国产精品久久av | 男女羞羞免费视频 | 国产线视频精品免费观看视频 | 精品视频久久久久久 | 久久久久久国产一区二区三区 |