var函数

前端JavaScript

给你一囗甜甜゛ 提交于 2019-12-05 17:32:06
引入方式 script标签内写代码: 在head标签里面可以写, 在body里面也可以写 <script> # 在这里写你的代码 console.log("骑士计划!") # f12 打开浏览器的调试窗口, 然后在console这个调试台就能看到这个内容 alert("骑士计划!") # 这个是浏览器窗口一打开咱们这个文件, 就弹出一个窗口 <script> 引入额外的js文件: <script src="myscript.js"></script> JavaScript语言规范 注释 // 这是单行注释 /* 这是多行 注释 */ 结束符 ​ JS中的语句要以分号(;)为结束符. 也就是说和缩进没关系 JavaScript语言基础 变量声明 ​ JavaScript 的变量名可以使用 _ , 数字, 字母, $组成, 不能以数字开头 ​ 声明变量使用 var + 变量名 的格式来进行声明 var name = "Alex"; /* 也可以分两步, 声明变量var name; 然后name = "alex", 但是通常我们都是一步写完 var age = 18; ​ 注意: ​ 变量名是区分大小写的. 推荐使用驼峰式命名规则. 首字母大写. 保留字(关键字)不能用作变量名 JavaScript数据类型 JS拥有动态类型 var x; # 此时 x 是undefined

函数柯里化

半城伤御伤魂 提交于 2019-12-05 17:02:18
// var cost = (function () { // var args = []; // return function () { // if (arguments.length === 0) { // var money = 0; // for (var i = 0, l = args.length; i < l; i++) { // money += args[i] // } // return money; // } // else { // Array.prototype.push.apply(args, arguments) // } // } // })() // cost(200) //这个只要用于保存参数,或者判断是否需要进行一次性求值 var curring = function (fn) { var arg = []; return function () { if (arguments.length === 0) { return arg } else { [].push.apply(arg, arguments); return arguments.callee } } }; var cost = (function () { var money = 0; return function () { for (var i = 0, l =

二、类型、值和变量

吃可爱长大的小学妹 提交于 2019-12-05 16:36:52
JS数据类型分为两类:基本数据类型和对象类型 基本数据类型包括数字、字符串、布尔类型、null和undefined 对象(object)是属性的集合,每个属性都由键值对构成;普通JS对象是”命名值“的无序集合,特殊对象数组(array)表示带编号的有序集合。 2.1数字 JS不区分整数值和浮点数值,所有数字均用浮点数值表示。运算符包括+、- 、*、/和% 更加复杂的运算通过Math对象的属性定义的函数和变量来实现: Math.pow(2,53) //2的53次幂 Math.round(.6) //=1.0 四舍五入 Math.ceil(.6) //=1.0 向上求整 Math.floor(.6) //=0.0 向下求整数 Math.abs(-5) //=5 绝对值 Math.max(x,y,z) //最大值 Math.min(x,y,z) //最小值 Math.random() //生成一个大于等于0小于1.0的随机数 Math.PI // 圆周率∏ Math.E // 自然对数的底e Math.sqrt(3) //3的平方根 Math.sin(0) // 三角函数 还有Math.cos和Math.atan Math.log(10) //10的自然对数 Math.log(100)/Math.LN10 //以10为底100的对数 Math.exp(3) //e的三次幂 正无穷大

nodejs stream 手册学习

不想你离开。 提交于 2019-12-05 15:57:02
nodejs stream 手册 https://github.com/jabez128/stream-handbook 在node中,流可以帮助我们将事情的重点分为几份,因为使用流可以帮助我们将实现接口的部分分割成一些连续的接口,这些接口都是可重用的。接着,你可以将一个流的输出口接到另一个流的输入口,然后使用使用一些库来对流实现高级别的控制。(metamask中就是这样,使用了很多流,希望这几天的学习能够让我真正搞懂metamask几个部分之间到底是怎么相互工作的) 为什么应该使用流 在node中,I/O都是异步的,所以在和硬盘以及网络的交互过程中会涉及到传递回调函数的过程。你之前可能会写出这样的代码: var http = require( ' http ' ); // node自带 var fs = require( ' fs ' ); var server = http.createServer(function (req, res) { fs.readFile(__dirname + ' /data.txt ' , function (err, data) { res.end(data); // 浏览器上显示 console.log(data); // 终端上显示 }); }); server.listen( 8000 ); 上面的这段代码并没有什么问题,但是在每次请求时

Nodejs数据流(Stream)手册

て烟熏妆下的殇ゞ 提交于 2019-12-05 15:49:06
在书上看到的补充阅读,为了以后方便以后复习干脆翻译了下来。翻译自 Node数据流手册 1、介绍 本文介绍了使用 node.js streams 开发程序的基本方法。 "We should have some ways of connecting programs like garden hose--screw in another segment when it becomes necessary to massage data in another way. This is the way of IO also." Doug McIlroy. October 11, 1964 最早接触Stream是从早期的unix开始的数十年的实践证明Stream 思想可以很简单的开发出一些庞大的系统。在unix里,Stream是通过 |实现的;在node中,作为内置的stream模块,很多核心模块和三方模块都使用到。和unix一样,node Stream主要的操作也是 .pipe() ,使用者可以使用反压力机制来控制读和写的平衡。 Stream 可以为开发者提供可以重复使用统一的接口,通过抽象的Stream接口来控制Stream之间的读写平衡。 2、为什么使用Stream node中的I/O是异步的,因此对磁盘和网络的读写需要通过回调函数来读取数据,下面是一个文件下载服务器的简单代码: var

Canvas月亮绘制 +简单动画实现

眉间皱痕 提交于 2019-12-05 15:43:53
动画实现: 通过setInterval方法不停的调用context.clearRect()方法清理画布,然后再重新绘制页面。 此外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是请求动画帧。下一章详解。 下面是实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> <title></title> <style> * { padding: 0; margin: 0; } #canvas { display: block; border: 1px solid #ccc; margin: 0 auto; } </style> </head> <body> <canvas id="canvas">您的浏览器不支持</canvas> </body> <script> var moon = { x: 100, y: 120 }; var canvas = document.getElementById("canvas"); canvas.width = screen

javascript---知识点2

孤街醉人 提交于 2019-12-05 15:30:08
1、一共分为6种数据类型 Undefined 返回字符串undefined Boolean 返回字符串boolean String 返回字符串sring Number 返回字符串number Object 返回字符串object, var a = null; 返回也是object, null也是Object Function 返回字符串function --------------------------------------------------------------------------------- typeof box 返回字符串undefined 2、 var box; typeof box undefined typeof age 一个没有的变量也会返回undefined alert(age); 使用一个没有的变量会报错 尽量都初始化赋值 3、undefined == null true undefined === null false 4、toString() 中不能用null 或undefined 可以使用 String() 强制转换成string 返回的是'null' 'undefined' 5、Object var a = new Object(); 或 var a = new Object; 6、javascript 中的类型转换 都是由底层默认实现的

nodejs学习笔记

感情迁移 提交于 2019-12-05 15:22:12
一、fs模块 文件系统模块 1.Node.js 文件系统 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs) 2.引入文件模块 var fs = require("fs"); 3.异步读取txt文本使用 fs.readFile('文本url',function(err,date){ if(err){ console.log(err.stack); }else{ console.log(date.toString()); } }); 4.同步读取 var data = fs.readFileSync('input.txt'); console.log("同步读取: " + data.toString()); 5.异步同步同时存在遵循同步有先 6.fs.open(path,flags,mode,callback);在异步模式下打开文件 path--文件路径 flags--以何种方式打开r r+ rs rs+ w w+ wx wx+ a ax a+ ax+ 7.fs.stat(path, callback)通过异步模式获取文件信息 fs.stat('hello.js', function (err, stats) { console.log(stats.isFile()); //true }) 8.stats 是 fs.Stats 对象

Node js 相关知识总结

本秂侑毒 提交于 2019-12-05 14:43:32
参考教程: https://github.com/alsotang/node-lessons/blob/master/lesson4/app.js 一. 利用cheerio实现网络爬虫 示例代码: //利用cheerio实现网络爬虫 var express = require ( 'express' ); //一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的 var cheerio = require ( 'cheerio' ); // http 方面的库,可以发起 get 或 post 请求 var superagent = require ( 'superagent' ); var app = express(); app.get( '/' , function (req,res,next) { superagent.get( 'https://cnodejs.org/' ) .end( function (err,sres) { if (err){ return next(err); } // sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后 // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$` // 剩下就都是

《深入浅出NodeJS》读书笔记

爷,独闯天下 提交于 2019-12-05 14:33:48
 NodeJS NodeJS 4 个特点: 异步 I/O, 事件驱动与回调, 单线程事件轮询, 跨平台。 NodeJS 5 个大坑:异常处理,嵌套太深,没有 Sleep ,多线程编程,异步转同步。 NodeJS 4 种提升性能的方法: 动静分离, 缓存( Redis ) , 多进程, 数据库读写分离。 NodeJS 简介 模块机制 异步 I/O 异步编程 内存控制 Buffer 网络编程 构建 Web 多进程 测试 产品化 调试 NodeJS 编程规范 NodeJS 简介 高性能,符合时间驱动,没有历史包袱这三个主要原因, JavaScript 成为了 Node 的实现语言。 NodeJS 基于 Google V8 引擎。 Node 优秀的运算能力主要来自 V8 的深度优化。 NodeJS 特点:异步 I/O, 事件驱动与回调函数, 单线程事件轮询,跨平台 NodeJS 单线程的缺点: 无法利用多核 CPU. 错误会引起整个应用进程退出。 大量计算占用 CPU 导致无法继续调用异步 I/O. 解决单线程缺点的方法是引入子进程方法( Cluster, 见后边)和 C/C++ 模块扩展(利用它们的多线程机制)。 模块机制 Node 出现之前,服务器端的 JS 基本没有市场的。 CommonJS 主要是为了弥补当前 JS 没有标准的缺陷,希望 JS 能够在任何地方运行。 模块引用