资讯专栏INFORMATION COLUMN

Node.js 深度体验

ConardLi / 1483人阅读

摘要:我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。自定义函数输出匿名函数输出路由构成实例请求路径后请求参数参数的值参数值运行引用文字输出

Node.js模块系统

模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的

node.js

//代码 require("./love") 引入了当前目录下的love.js文件
var love = require("./love");

love.confession();
love.reject();

love.js

// 通过 exports 对象把 confession 作为模块的访问接口

exports.confession = function() { // 告白
    console.log("A:我喜欢你!");
}

exports.reject = function() { // 拒绝
    console.log("B:我们只是好朋友~");
}

输出

node.js

var Reason = require("./love");
Reason = new Reason(); // 实例化模块
Reason.confession();  // 调用模块方法
Reason.reject();
Reason.setName("TK");
Reason.sayReason();

love.js

function Reason() { // 模块
    var name;
    this.setName = function(iName) { //模块内自定义方法
        name = iName;
    };
    this.sayReason = function() {
        console.log(name+":不要喜欢我 , 我一点都不喜欢你!");
    };

    this.confession = function() { // 告白
        console.log("A:我喜欢你!");
    }

    this.reject = function() { // 拒绝
        console.log("B:我们只是好朋友~");
    }
};
module.exports = Reason;

输出

Node.js 函数

在JavaScript中,一个函数可以作为另一个函数接收一个参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。

自定义函数

nodejs.js

function sayLove(name) {
    console.log(name+"I Love You !");
}
    
function execute(functionName,value) {

    functionName(value);
}

execute(sayLove, "Silly Girl");

输出

匿名函数

nodejs.js

function execute(functionName,value) {

    functionName(value);
}

execute(function(name){ console.log(name+"I Love You !"); }, "Silly Girl")

输出

Node.js 路由

url构成

                          url.parse(string).query
                                           |
           url.parse(string).pathname      |
                       |                   |
                       |                   |
                     ------ -------------------
http://localhost:8888/start?foo=bar&hello=world
                                ---       -----
                                 |          |
                                 |          |
              querystring(string)["foo"]    |
                                            |
                         querystring(string)["hello"]

实例

nodejs.js

var http = require("http");
var url = require("url");
function onRequest(request, response) {
    var pathname = url.parse(request.url).pathname;
    var query = url.parse(request.url).query;
    var name = url.parse(request.url, true).query.name;
    var age = url.parse(request.url, true).query.age;
    console.log("url:" + request.url); // 请求url
    console.log("pathname:" + pathname); // url路径
    console.log("query:" + query); // ?后请求参数
    console.log("name:" + name); // 参数name的值
    console.log("age:" + age); // 参数age值
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Get URL");
    response.end();
}

http.createServer(onRequest).listen(8888);
console.log("Server has started.");

运行

http://127.0.0.1:8888/start?name=TK&age=28

引用文字
输出

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86380.html

相关文章

  • 开始使用 VSCode 调试

    一些由浅入深的 VScode 调试例子,能让你快速理解和上手 VSCode 调试。 为什么使用 VSCode ? 我是深度 vi 用户,之前 Atom 深度使用者,现在基本上转到 VSCode,下面是我选择 VSCode 的原因: 颜值高,早期不如 Atom,现在已经逐渐赶上 vi 支持度好,和 Atom 还差点,但已够用 调试体验好,完爆 Vim 和 Atom 插件多,和 Vim 和 Atom...

    阿罗 评论0 收藏0
  • 前端清单第 27 期:React Patent License 回复,Shopify WebVR 购

    摘要:新闻热点国内国外,前端最新动态就开源许可证风波进行回复数周前,基金会决定禁止旗下项目使用,因为其在标准的许可证之外添加了专利声明此举引发了社区的广泛讨论,希望能够更新其开源许可证。 showImg(https://segmentfault.com/img/remote/1460000010777089); 前端每周清单第 27 期:React Patent License 回复,Sho...

    jeffrey_up 评论0 收藏0
  • 前端每周清单第 45 期: Safari 支持 Service Worker, Parcel 完整教

    摘要:的另一个核心特性,苹果表示也正在开发中,按开发进度可能几个月后就能与我们见面。是基于的本地化数据库,支持以及浏览器环境。 前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。 本期是 2017 年的最后一...

    赵春朋 评论0 收藏0
  • 前端每周清单第 41 期 : Node 与 Rust、OpenCV 的火花,网络安全二三事

    摘要:的网站仍然使用有漏洞库上周发布了开源社区安全现状报告,发现随着开源社区的日渐活跃,开源代码中包含的安全漏洞以及影响的范围也在不断扩大。与应用安全是流行的服务端框架,本文即是介绍如何使用以及其他的框架来增强应用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清单专注...

    syoya 评论0 收藏0
  • Easy-Monitor 2.0: 开启你的 Node.js 内核性能监控

    摘要:简介轻量级的项目内核性能监控分析工具,在默认模式下,只需要在项目入口文件一次,无需改动任何业务代码即可开启内核级别的性能监控分析。访问监控页面打开你的浏览器,访问,即可看到进程界面。如果这个项目对您有帮助,给个鼓励一下也是很开心的事情 Easy-Monitor 2.0 I. 简介 轻量级的 Node.js 项目内核性能监控 + 分析工具,在默认模式下,只需要在项目入口文件 requir...

    DesGemini 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<