精华内容
下载资源
问答
  • 02 Nodejs-全局对象

    千次阅读 2020-02-06 13:48:09
    全局对象 文章目录全局对象一、global对象二、global的对象与函数2.1 ...Node.js的全局对象关键字是global,在交互和脚本两种模式下有不同的表现形式 交互模式: 该模式可以使用global来访问全局对象下的被声明的变...

    全局对象

    一、global对象

    Node.js的全局对象关键字是global,在交互和脚本两种模式下有不同的表现形式

    1. 交互模式:

      该模式可以使用global来访问全局对象下的被声明的变量和被创建的函数。

    2. 脚本模式:

      该模式文件中声明的变量和创建的函数不是全局对象下的,不可使用global来访问。

    二、global的对象与函数

    2.1 包含的对象

    2.1.1 console对象

    打印对应的数据

    1. global.console.info()– 打印消息
    2. global.console.warn()– 打印警告
    3. global.console.error()– 打印错误
    4. global.console.log()– 打印日志
    5. global.console.time('自定义字符串')– 开始计时
    6. global.console.timeEnd('自定义字符串')– 结束计时

    2.1.2 process对象

    表示当前计算机进程

    1. process.arch– 查看当前CPU架构
    2. process.platform– 查看当前的操作系统
    3. process.env– 查看当前的环境变量有那些
    4. process.kill(pid编号)– 杀死某个编号的进程

    2.1.3 Buffer对象

    缓冲区,在内存中存储数据的区域,存储网络传输时的资源

    1. Buffer.alloc(分配的字节大小,'分配的字符')

    2.2 包含的函数

    2.2.1 定时器函数

    • 一次性定时器
    1. var timer = setIimeout(回调函数,间隔时间)– 计时结束,执行函数
    2. clearTimeout(timer)– 结束一次性定时器函数
    • 周期性定时器
    1. var timer = setInterval(回调函数,间隔时间)– 间隔时间调用函数
    2. clearInterval(timer)– 结束周期性定时器函数
    • 立即执行定时器
    1. process.nextTick(回调函数)– 当前时间的结尾执行

    2. var timer = setImmediate(回调函数) --在下一组事件的开头执行

      clearImmediate(timer)– 定时器结束函数

    展开全文
  • 本书论述运用UML(统一建模语言)和模式进行对象建模方法和技巧,重点讨论了如何使用面向对象的分析和设计技术来建造一个健壮和易于维护系统。 全书叙述清晰、图文并茂、实例丰富,是一部来自于大量经验...
  • GoF 23 种设计模式

    2019-12-13 19:49:38
    中介者(Mediator)模式:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象耦合度,使原有对象之间不必相互了解。 迭代器(Iterator)模式:提供一种方法来顺序访问聚合对象一系列数据,而不...
  • # Pry ## 安装 Gemfile里面写入 ... # ls命令都支持 -G <pattern> 参数进行...直接要调试地方添加`binding.pry`,当运行到这行代码时会自动调出一个pry终端,可以这里进行交互,退出调试用`exit-all`。
  • 【VB.NET】全局观概括

    千次阅读 热门讨论 2015-02-02 20:13:03
    它由两部分组成,分别是数据提供程序和DataSet。数据提供程序中又包括Connection、Command、... 2、是一组用于和数据源进行交互的面向对象类库。通常情况,数据源是数据库,但它同样也能够是文本文件、Excel表格或

         视频总算是看完了,但是收获不多。总的来说,基础还是VB,只不过增加了面向对象的技术。看完之后,感觉自己能力有限,不能理解老师讲的内容。所以,觉得不能只在理论上学习了,必须在实践中寻找答案!这篇博客是一篇概括性文章。


         OOP基础

         面向对象是现代软件开发的基本要素。VB通过.NET技术完整地支持了面向对象的功能。

         BCL是微软所提出的一组标准库可提供.NET Framework所有语言使用。BCL相当于VB中的API函数。

         新一代Win

         无论在任何窗体平台上开发GUI应用程序,它都是通过事件与使用者的互动。在.NET的开发平台上,我们可以开发WinForms与WebForms两种GUI应用程序。

         防护式设计

         在程序中,有太多的未知输入与状况可能会出现,如果能在已知的环境中反映出程序的正确、错误输入,那么,这就是真正的防护式程序设计。它共有四种方法:明确类型转换、例外处理、错误追踪和Assertions四种方法。

             DB

         对于数据库的设计,我就不多说了。看过一本计算机自考书,叫《数据库系统原理》与视频中的内容还是很相似的。

         三层思想

         


         ADO.NET

         构成

         它由两部分组成,分别是数据提供程序和DataSet。在数据提供程序中又包括Connection、Command、DataAdapter和DataReader四个子成员。DataSet在ADO.NET中时至关重要的一部分,它的作用是储存、操纵数据。

         作用

         1、提供了平台互用性和可伸缩的数据访问,ADO .NET增强了对非连接编程模式的支持,并支持RICH XML

         2、是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。

         3、允许和不同类型的数据源以及数据库进行交互。

         4、提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。

         5、是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。

         程序设计与部署

         


         类型

         以DLL为基础的设计



        分布式程序设计


         并发程序设计


         软件工程

         它是一门用工程化方法构建和维护软件的学科。涉及到设计语言、数据库、软件开发工具、系统平台、标准和设计模式等方面。大概三个月以前就学过了,所以就不废话了。。


         小结

         对于VB.NET视频的学习,我确实收获不大!其中还是对.NET技术有点儿不能理解,但是我相信会有懂的一天,向下一目标进行吧!

         


    展开全文
  • java 设计模式资料

    2012-12-11 14:55:52
    Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 State:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。 Strategy:定义一系列的算法,把它们一个个封装...
  • 内容输出:拉钩教育 node.js ...node.js不是一门语言,也不是javaScript框架,是除了浏览器之外,可以运行javaScript代码的环境 ...Node.js下的全局对象是global 在交互模式下,声明的变量和函数都属于global,例如var .

    文章内容输出来源:拉勾教育前端就业急训营2期

    node.js

    官网链接:https://nodejs.org/zh-cn/

    node.js不是一门语言,也不是javaScript框架,是除了浏览器之外,可以运行javaScript代码的环境

    1、Node.js下运行JavaScript

    (1)脚本运行,node xx.js

    (2)交互模式,node + 回车打开交互模式,js代码运行代码,.exit退出交互模式

    2、全局对象

    Node.js下的全局对象是global

    交互模式下,声明的变量和函数都属于global,例如var a = 1;global.a可以访问到。

    脚本模式下,声明的变量和函数不属于global,例如var a = 1;global.a访问不到。

    注意:Node.js不能访问浏览器端的全局对象window,如下图
    在这里插入图片描述

    3、全局函数

    JavaScript语言提供的全局函数,在Node.js下依然可用。例如:

    • parseInt/parseFloat/isNaN/isFinite/eval…
    • 一次性定时器(setTimeout / clearTimeout)
    • 周期性定时器(setInterval / clearInterval)

    Node.js 环境也提供了一些全局函数

    • 立即执行定时器(setImmediate / clearImmediate)
    • 进程立即执行定时器(process.nextTick)

    4、Node.js模块

    模块(包)是Node.js应用程序的基本组成部分,大部分前端工程化的工具,也是以模块的形式存在的。

    Node.js模块

    模块类型 说明 学习链接
    内置模块 官方提供的,核心模块,跟随 Node.js 一起安装 http://nodejs.cn/api/
    自定义模块 工程师自己开发 工程师自己开发
    第三方模块 社区维护的,需要单独下载才能使用 https://www.npmjs.com/

    4.1 console

    输出函数
    var obj = {
        name: 'tom'
    }
    console.log(obj); // 输出 { name: 'tom' }
    console.table(obj);//表格形式输出
    ┌─────────┬────────┐
     (index) │ Values │
    ├─────────┼────────┤
    │  name   │ 'tom'  │
    └─────────┴────────┘
    
    计时函数
    //计时函数
    console.time('for'); //计时开始
    for(let i = 0; i < 1000000; i++){
        
    }
    //注意:此时的for一定要与计时开始时的label保持一直,否则会报错
    console.timeEnd('for') //计时结束
    

    4.2 process

    process 对象是一个全局变量,提供了有关当前 Node.js 进程的信息并对其进行控制。

    // process是全局变量,使用时,无需引入,引入也不报错,但是没有必须引入
    // const process= require("process");
    console.log(process)
    
    //输出当前版本
    console.log(process.version) //v14.16.0
    
    //输出操作系统架构
    console.log(process.arch)  // x64
    
    //输出操作系统平台
    console.log(process.platform) // win32
    
    //环境变量
    console.log(process.env)
    //自定义环境变量
    process.env.NODE_ENV = 'develop'
    console.log(process.env.NODE_ENV) // develop
    
    //获取进程编号
    console.log(process.pid)  //(系统分配,每次执行不一样)
    
    //杀死进程
    process.kill() //参数:进程编号
    

    4.3 path

    path模块提供了有关路径操作的函数,使用之前,需要通过require引入(类似Java中的import)

    // 引入
    const path = require("path")
    
    //获取当前文件所在的路径
    console.log(process.cwd())
    console.log(__dirname) 
    
    //获取当前文件所在的路径
    console.log(process.cwd())
    
    //获取当前文件所在的路径
    // dir = directory 目录 C:\Users\ROG\Desktop\拉钩教育\fed-e-task-base-03-01\code
    console.log(__dirname) 
    
    //获取当前文件的完整路径 C:\Users\ROG\Desktop\拉钩教育\fed-e-task-base-03-01\code
    console.log(__filename) 
    
    //获取文件的扩展名 .js
    console.log(path.extname(__filename))
    
    // 获取路径中的目录部分 C:\Users\ROG\Desktop\拉钩教育\fed-e-task-base-03-01\code
    console.log(path.dirname(__filename))
    
    //获取路径中的文件名 path.js
    console.log(path.basename(__filename));
    
    // 相当于../
    const t = path.join(__dirname, '..') 
    console.log(t) // C:\Users\ROG\Desktop\拉钩教育\fed-e-task-base-03-01
    
    //将多个路径合并起来  
    const a = path.join("d:/",'a', 'b')
    console.log(a) // d:\a\b
    

    4.4 fs

    fs(file system)提供了文件操作的API

    1、文件写入
    const fs = require("fs");
    
    fs.writeFile('./1.txt','我是写入的内容', (err)=>{
      if(err){
        throw err;
      }
      console.log("写入成功")
    });
    
    2、文件读取
    var flieName = path.join(__dirname, './1.txt');
    fs.readFile(flieName, (err, data)=>{
      if(err) throw err;
      //data是二进制数据,但是以16进制数据输出
      console.log(data);
      console.log(data.toString()) // 我是写入的内容
    })
    
    3、删除文件
    var flieName = path.join(__dirname, './1.txt');
    fs.unlink(flieName, (err)=>{
      if(err) throw err;
      console.log("刪除成功")
    })
    
    4、追加写入
    //追加写入
    fs.appendFile(__dirname + '/2.txt', '曾经有一首歌是这样唱的', err => {
      if(err) throw err;
      console.log("追加成功")
    })
    
    5、创建目录
    const fs = require("fs");
    
    //创建目录
    fs.mkdir('./a', err => {
        if(err){
            throw err;
        }
        console.log("success");
    })
    
    6、删除目录
    // 删除目录 rmdir 只能删除空目录
    // 先删除目录下的普通文件,再通过rmdir删除空目录
    fs.rmdir('./a', err => {
        if (err) {
            throw err;
        }
        console.log("删除成功");
    })
    
    7、重命名
    //重命名
    fs.rename(__dirname + "/a1", __dirname + "/a11", err => {
        if (err) {
            throw err;
        }
        console.log("重命名成功");
    });
    
    8、读目录
    fs.readdir(__dirname, (err, data) => {
        if(err) throw err;
        console.log(data.length); //文件夹和文件都可以读取出来
        data.map((d)=>{
            console.log(d);
            fs.stat(__dirname + '/' + d, (err, stat) => {
                if(err) throw err;
                if(stat.isDirectory()){ //判断是否是目录
                    console.log("目录:", d);
                }else if(stat.isFile()){
                    console.log("文件:", d);
                }
            })
        })
    
    9、文件流

    为什么选择"流"?

    1、内存效率提高

    无需加载大量的数据,将大数据切成小块,占用内存更少。

    2、时间效率提高

    接获数据后立即开始处理,无需等到内存填充满。

    const fs = require("fs");
    
    //1、创建读取流
    var readStream = fs.createReadStream('./file2.txt')
    
    //2、创建写入流
    var writeStream = fs.createWriteStream('./file_stream.txt')
    
    //3、把读取流通过管道传递给写入流
    readStream.pipe(writeStream);
    
    

    4.5 http

    const http = require("http")
    
    /**
     * 创建服务器
     */
    const server = http.createServer((req, res) => {
      res.statusCode = 200
      res.setHeader("Content-type", "text/plain;charset=utf-8")
      res.end("你好,node.js")
    })
    
    /**
     * 发布web服务
     */
    const port = 3000;
    const host = "localhost"
    server.listen(port, host, ()=>{
      console.log(`服务器运行在htp://${host}:${port}`)
    })
    

    4.6 自定义模块

    • Node.js中每个单独的.js文件,就是一个模块。

    • 每个模块中都有一个module变量,代表当前模块。

    • module的exports属性是对外的接口

      • 只有导出的属性和方法才能被外部调用。
      • 未导出的内容是模块私有,不能被外部访问。
    • 使用时,通过require引入(路径写对)

    4.7 模块的加载逻辑

    按照组织模式划分

    • 文件模块:一个独立的.js文件
    • 目录模块:将多个.js文件放在一个目录中

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I7hIQLLU-1616634844114)(C:\Users\张艳杰\AppData\Roaming\Typora\typora-user-images\1616228666540.png)]

    默认index.js是入口文件,如果没有index.js,则在package.json中查找main对应的属性值。

    例如,指定入口文件是a.js:

    {
      "main": "a.js"
    }
    

    4.8 第三方模块

    想要使用第三方模块,需要单独安装,学习网站:https://www.npmjs.com/

    npm:(node package manager)npm是一个命令,跟随node.js一起安装。(npm --version)npm可以下载(安装)包和包的依赖,npm安装:npm install <package-name>

    npm镜像源:npm管理的Node.js包的资源管理地址,https://www.npmjs.com/。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fhTkAs8p-1616634844115)(C:\Users\张艳杰\AppData\Roaming\Typora\typora-user-images\1616229832908.png)]

    修改镜像源:

    npm config set registry https://registry.npm.taobao.org

    获取当前镜像源

    npm config get registry

    4.9 npm

    npm安装包的方式:

    • 全局安装:多个项目都能用到(把包当全局工具使用)
    • 项目安装:还有当前项目用到
    全局安装:

    例如:安装使用minify:https://www.npmjs.com/package/minify

    安装:npm install p-name -g

    卸载:npm uninstall p-name

    项目安装:

    1、创建项目目录(mkdir project

    2、进入项目(cd project

    3、初始化项目(npm init

    4、在项目中安装

    安装:npm i p-name --save npm i p-name -S

    例如:

    //安裝
    npm install minify --save
    
    //执行压缩
    .\node_modules\.bin\minify index.js > ./index.mini.js
    
    展开全文
  • node.js(一)

    2021-03-11 09:44:34
    交互模式在全局作用域下,变量和函数都是全局global下的 global.a global.fn() 脚本文件中所处在一个模块作用域下,里边的变量和函数都是局部的 ** js —— window** js脚本文件中所处在全局作用域下,里边的...

    1. node.js的运行方式

    脚本模式
    node C:/xampp/…/01.js 回车
    交互模式
    node 回车 进入到交互模式
    两次ctrl+c退出交互模式

    2. 全局对象

    Node.js —— global
    交互模式是在全局作用域下,变量和函数都是全局global下的
    global.a global.fn()
    脚本文件中所处在一个模块作用域下,里边的变量和函数都是局部的
    ** js —— window**
    在js脚本文件中所处在全局作用域下,里边的变量和函数都是全局的
    window.a window.fn()

    3. console对象

    console.log() 打印输出
    console.info() 输出消息
    console.warn() 输出警告
    console.error() 输出错误
    console.time(‘字符串’) 开始计时
    console.timeEnd(‘字符串’) 结束计时

    4. process对象

    进程对象
    process.arch 查看当前CPU的架构
    process.platform 查看当前的操作系统
    process.version 查看当前nodejs版本号
    process.pid 查看当前进程的编号
    process.kill() 结束指定编号的进程

    5. Buffer

    对象缓冲区、缓冲器:内存中的一块区域,用于临时存储数据,往往存储一些网络传输时的资源
    let buf=Buffer.alloc(5,‘abcde’) //创建Buffer大小为5,并存储数据,一个英文字符占1个字节,一个汉字占3个字节
    buf.toString()
    String( buf ) 将buf转为字符串

    6. 定时器

    一次性定时器:

    let timer=setTimeout( 回调函数, 间隔时间 );
    clearTimeout(timer);
    周期性定时器:
    let timer=setInterval( 回调函数, 间隔时间 )
    clearInterval( timer )
    

    7. 模块系统

    每个文件就是一个模块,每一个模块是一个独立的功能体。Node.js下模块分为自定义模块、核心模块、第三方模块。Nodejs会自动给每个文件添加一个函数,程序员写的代码自动被函数所包含,所以一个文件是一个作用域–模块作用域

    function(){   代码; }
    require 用于引入一个模块,得到的是导出的对象
    module 当前模块的对象
    module.exports 导出的对象,默认是一个空对象,如果要导出内容,只需要把内容添加到对象中
    展开全文
  • 二十三种设计模式【PDF版】

    热门讨论 2011-05-30 14:13:49
    保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之 Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new 一样频繁. 设计模式之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些...
  • 许多人无私奉献以及这种语言本身源代码自由性质,它演变成为一种特点丰富语言,而且现在还成长中。 PHP虽然很容易学习,但是速度上比mod_perl(植入web服务器perl模块)慢。现在有了可以与mod_perl...
  • 而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排开发周期的最后阶段 渐进增强 一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。先让网站能够正常工作于尽可能旧的浏览器上,然后不断为它...
  •  error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 19、...
  • design-pattern-forjava.zip

    2019-07-16 03:29:11
    14,备忘录模式:不破坏封装性前提,捕获一个对象的内部状态,并对象之外保存这个状态.这个以后就可将该对象恢复到原先保存状态。 15,浅复制:被复制对象的所有变量都含有与原来的对象相同值,而所有...
  • 软件对象是现实世界对象的模式化产物,他们也有状态 和行为。软件对象把状态用数据表示并存放在变量里,而行为则用方法实现。实际上,软件 对象还包括了数据结构和使用这些数据结构代码。因此也可以说:软件对象是...
  • C++程序中使用QML

    2011-12-21 08:25:39
    可以检测一个C++属性值——这种情况下的CustomPalette的文本属性改变,该属性必须有相应的NOTIFY信息。NOTIFY信号是属性值改变时将指定一个信号发射。 实现者应该注意的是,只有值改变时才发射信号,以防止发生死...
  • // 运行npm run dev来生成开发模式下的bundles以及启动本地server "dev": "webpack-dev-server" } </code></pre> <h2>2. webpack CLI 和webpack-dev-server 值得注意的是,Webpack作为模块...
  • 并且由于默认LIBC冲突,需要排除MSVCRT[D]开发库(其中D代表Debug模式下,没有D表示Release模式下),直接使用eXosip几个主要函数就可以创建一个基本SIP软电话模型。 其主要流程...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    18.2 C #代码中调用 C++和 VB 编写组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
  • SqlSessionFactory (会话工厂) :好比是DataSource ,线程安全,应用运行期间不要重复创建多次,建议使用单例模式。 作用: 创建SqlSession对象 SqISession (会话) :好比是Connection ,线程不安全,每次使用开启新...
  • 例如,您可以不依赖业务逻辑情况专注于视图设计。同时也让应用程序测试更加容易。 MVC 分层同时也简化了分组开发。不同开发人员可同时开发视图、控制器逻辑和业务逻辑 未标题-1.jpg 基于这一思维...
  • C#微软培训资料

    2014-01-22 14:10:17
    18.2 C #代码中调用 C++和 VB 编写组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
  • credentialprovider

    2020-09-25 13:50:28
    此外,对内核的全局命名空间的控制也更加严格,因为默认情况,由用户应用程序创建的对象已不内核全局命名控件之内。 最近,应工作需求,实现用usbkey的pin码验证登录,下面是自己查询资料,整理归纳的流程。
  • py

    2019-03-30 21:25:00
    #1、在交互模式下 Python实现int时候有个小整数池。为了避免因创建相同值而重复申请内存空间所带来效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内小整数对象是全局解释器...
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    5.5 使用非零位模式作为空指针内部表示机器上,NULL是如何定义? 5.6 如果NULL定义成#defineNULL((char*)0),不就可以向函数传入不加转换NULL了吗? 5.7 我编译器提供头文件中定义NULL为0L。为...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    用例只描述参与者和系统在交互过程中做些什么,并不描述怎么做。 用例图 关联关系 用例图 泛化关系 用例图 泛化关系 用例图 用例图 用例图 用例用于什么情况? 不知道什么情况不用用例 如果没有用到用例,...
  • 让我们函数能够不改动或者只改动很小一部分情况其他 Serverless 服务中也能运行。 常见 Serverless 框架有 <a href="https://serverless.com/">Serverless Framework、...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

在交互模式下的全局对象是