当前位置: 首页 > news >正文

网站砍价活动怎么做/济宁百度推广公司

网站砍价活动怎么做,济宁百度推广公司,公司名称吉凶查询大吉,兴县做网站公司1、url模块介绍 ## get请求时,用户请求的参数是在request的url属性中,纯字符串,使用起来并不方便 ## url模块可以更方便地解析用户请求的get参数 ## 具体使用 1. 加载模块 var url require(url);2. 调用parse()方法解析 javascript url.pars…

1、url模块介绍 

## get请求时,用户请求的参数是在request的url属性中,纯字符串,使用起来并不方便
## url模块可以更方便地解析用户请求的get参数
## 具体使用
1. 加载模块 `var url = require('url');`

2. 调用`parse()`方法解析

```javascript
url.parse(urlString[, parseQueryString[, slashesDenoteHost]]);
var urlObj = url.parse(reqUrl, true);// url对象的pathname属性,获取不包含查询字符串的url
// url对象的query属性中包含的就是请求字符串的键值对对象
```

2、underscore模块介绍

- 官方文档:http://underscorejs.org/
- 中文文档:http://www.bootcss.com/p/underscore/

## 参考描述
```
1、Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. 

2、Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。 他解决了这个问题:“如果我面对一个空白的 HTML 页面,并希望立即开始工作,我需要什么?” 他弥补了 jQuery 没有实现的功能,同时又是 Backbone 必不可少的部分。

Underscore 提供了100多个函数,包括常用的:map、filter、invoke — 当然还有更多专业的辅助函数,如:函数绑定、JavaScript 模板功能、创建快速索引、强类型相等测试等等。
```
## 模板语法介绍:
+ `<%= %>`, 中间写表达式
+ `<%%>`, 中间写语句
## 参考写法

- 提示:underscore库建议使用'_'来命名对象,类似于jQuery使用$来命名
```javascript// 案例一:
var html = '<h1><%= name %></h1>';
var compiled = _.template(html);
var result = compiled({name: 'aaaa'});
console.log(compiled);
// 案例二:
// 构建模板字符串
var html = '<%for (var i = 0; i < 5; i++) { %><h1><%= name %></h1><% }%>';// 编译模板
var compiled = _.template(html);// 进行模板字符串替换
var result = compiled({name: '张三'});// 输出后的结果
console.log(result);
```
## underscore中_.template()函数返回值其实就是一个函数:```javascript
function(obj){var __t;var __p = '';var __j = Array.prototype.join,print = function () {__p += __j.call(arguments,'');};with(obj||{}) {__p += '<h1>' + ((__t = (name)) == null ? '' : __t) + '</h1>';}return __p;
}
```

3、模块化

1、 什么是模块?

- 每个.js文件就是一个模块
- 从npm上下载的一个包(可能是由多个文件组成的一个实现特定功能的包)也是一个模块
- 任何文件或目录只要可以被Node.js通过`require()`函数加载的都是模块
- 每个模块就是一个独立的作用域,模块和模块之间不会互相"污染"
- 我们可以通过编程的方式,指定某个模块要对外暴露的内容(其实就是指定require的返回值,通过require的返回值对外暴露指定内容)。这个对外暴露内容的过程也叫" 导出" ` module.exports`

2、什么是包?

- 通过package.json描述的一个文件或目录(可以理解成一个实现某个功能的1个文件或多个文件,通过package.json组织起来)
- 包不一定能被Node.js通过`require()`来加载,那么就不就叫模块。比如有些包中没有设置启动文件(package.json中的main字段),就不是模块。

## 参考链接:https://docs.npmjs.com/how-npm-works/packages

3、在Node.js中模主要分为:核心模块 和 文件模块

核心模块
- http、fs、path、url、net、os、readline、......
- 核心模块在Node.js自身源码编译时,已经编译成二进制文件
- 部分核心模块在Node.js进程启动的时候已经默认加载到缓存里面了

 文件模块
- 文件模块可以是:*.js 模块、*.node模块、*.json模块,这些都是文件模块
- 无论从npm上下载的第三方模块还是我们自己编写的模块都是文件模块

 模块化的好处

- 模块和模块之间不会出现变量"污染",一个模块就是一个作用域。
- 模块化开发效率高、可维护性好
- 模块化可以做到职责分离,每个模块实现一个独立的功能


模块加载

### 无论是核心模块还是文件模块加载都是采用`require('标识符')`来


核心模块的加载速度是最快的

### 无论是 核心模块 还是 文件模块,加载过一次后都会缓存起来,第二次加载(第二次require)的时候直接从缓存中读取即可。所以模块中的代码只在第一次加载的时候执行一次,这点要注意。

### 核心模块只能通过 "模块名称" 来加载,例如:`require('模块名称')`

文件模块可以通过 require 指定路径的方式来加载(路径可以是文件路径 或 目录)
- `require('./a/b.js')` 通过指定相对路径来加载模块
-  `require('/a/b.js')` 或 `require('c:\a\b.js')` 通过指定绝对路径来加载
-  注意:`require('')`加载模块的时候,相对路径永远相对于当前模块,不受node命令执行的路径影响。

通过路径的方式加载文件模块时,文件的后缀可有可无
- 省略后缀名后,Node.js默认会以:.js、.node、.json的顺序来加载(依次拼接不同的后缀,查找并尝试加载)。
- 建议:始终加上后缀。


npm下载的第三方模块加载
#### 也是通过 require('模块名称') 来加载的
#### 第三方模块名称绝对不能与 核心模块重名,否则永远加载的都是核心模块
#### require('模块名称') 加载非核心模块的过程
- 通过 `console.log(module.paths);` 来查看

 require 加载模块时做了2件事
1. 执行了模块中的代码
2. 返回了模块中对外暴露的内容(可能是对象、函数等等)


 module.exports 和 exports

### 在每个模块中module表示当前模块对象, 里面保存了当前模块对象的各种信息
### module.exports 其实就是 require()加载模块时的返回值
### exports 就是module.exports的一个引用
```javascript
exports = module.exports;
```
### 特别注意:最终暴露给require的返回值的是:module.exports, 而不是exports
 ```javascript// To illustrate(说明) the behavior, imagine this hypothetical implementation of require(), which is quite similar to what is actually done by require():function require(...) {var module = { exports: {} };((module, exports) => {// Your module code here. In this example, define a function.function some_func() {};exports = some_func;// At this point, exports is no longer a shortcut to module.exports, and// this module will still export an empty default object.module.exports = some_func;// At this point, the module will now export some_func, instead of the// default object.})(module, module.exports);return module.exports;
}```
## 下载Node.js源码,打开看下

## JavaScript 的严格模式—— `"use strict";` 或 `'use strict';`
- 参考链接:
  1. http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html
  2. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Strict_mode
http://www.jmfq.cn/news/5039209.html

相关文章:

  • 网页编辑用什么软件好/seo兼职外包
  • 为什么要做响应式网站/seo技术分享博客
  • 企业网站建设ppt介绍/郑州seo服务公司
  • wordpress分类添加banner/安卓手机优化神器
  • 南通高端网站建设公司/百度一下百度首页官网
  • 北京住房丰台建设委网站/系统优化大师免费版
  • 大兴区社会建设工作办公室网站/百度一下你就知道123
  • 30天网站建设实录下载/数字营销服务商seo
  • 锦州做网站公司/网站排名优化技巧
  • 如何做优化网站排名/软件外包公司有前途吗
  • 一级做爰片a视频网站偷拍/适合30岁短期培训班
  • 群晖系统可以做网站吗/做网络推广好吗
  • vs开发网站开发教程/百度风云榜明星
  • 哈尔滨网站建设30t/学推广网络营销去哪里
  • 做网站注意/太原seo排名优化公司
  • 企业建网站费用/国产免费crm系统有哪些在线
  • 高端网站设计收费/营销推广48个方法
  • 六枝做网站/免费建立一个网站
  • java做的网站怎么转app/百度一下的网址
  • 做二手车网站怎么做的/常见的网站推广方式有哪些
  • 辽阳好的网站建设公司/个人引流推广怎么做
  • 唐河企业网站制作哪家好/seo软文是什么意思
  • 唯一做性视频的网站/360优化大师官方版
  • 两学一做网站无法做题/广告优化师工作内容
  • 做英文的小说网站/网站推广服务报价表
  • 鞍山网站建设营销/网络营销策划书范文
  • 东营中移动网站建设/网络优化报告
  • wordpress广告最后加载/杭州seo网站推广
  • 网站开发实训心得体会/网站搜索引擎优化
  • 字体设计网站有哪些/网络推广好做吗?