Ryan724

智者捋思聚目,愚者窥点自欺


  • 首页

  • 归档

  • 分类

  • 关于

js 模拟弹簧运动

发表于 2016-03-22   |   分类于 javascript   |  
速度图 关键代码123456789101112131415161718192021222324252627 (function step(x,v){ var result= (function stepper(x, v) { var frameRate =1/60, destX = 0, k =100, b = 20,errorMargin = 0.00001; // 弹簧拉力 = 弹性系数 * 拉伸距离 var Fspring = -k * (x - destX); // Fdamper = (cpsv^2)/2 // 简化 // 阻力 = 阻力系数* 阻力系数 var Fdamper = -b * v; //F=ma m忽略 var a = Fspring ...
阅读全文 »

setTimeout与this

发表于 2016-02-29   |   分类于 javascript   |  
###问题的开始: 12345function fun(){ doSomething(); setTimeout(func,10)}fun(); ###提问 - 这个是递归调用吗? - 准确表达是:是fun自己调用自己吗? - 或者:后执行的fun可以访问到前执行fun中的参数吗? ###怎么考虑这个问题 预测: 1. 是自己调用,可以访问上一个调用着 2. 是顶级对象调用(global,window) 3. 是最初父级对象调用 关注点始终在调用,我们通过this就可以观察,this是方法的持有者 123456789function obj() { this.fn = function() { alert("ok"); console.log(this); setTimeout(this.fn, 1000); //直接使用this引用当前对象 }}var o = new obj();o.fn(); ###结论setInterval(),setTimeout() 方法是浏览器 window对象提供,所以第一个参数函数中 ...
阅读全文 »

Node Debugger

发表于 2015-08-09   |   分类于 node   |  
node 调试 一. 安装node-inspectornpm install -g node-inspector 二. 调试模式运行node –debug-brk app.js默认端口5858 node –debug-brk[=3000] app.js启动监听node-inspector node-inspector &修改端口 node-inspector –web-port=[port] 三. 进入调试页面http://[ip address]:8080/debug?port=5858 修改后自动重启 npm install supervisor -g supervisor app.js1234567891011121314//要监控的文件夹或js文件,默认为'.'-w|--watch <watchItems>//要忽略监控的文件夹或js文件 -i|--ignore <ignoreItems>//监控文件变化的时间间隔(周期),默认为Node.js内置的时间-p|--poll-interval <millisecon ...
阅读全文 »

npm link的探究

发表于 2015-07-10   |   分类于 node   |  
每次和电脑直接的交互都是给电脑下达一定的指令,电脑根据指令调用执行相应任务。(待~~~~) npm line 方式一. 操作流程 我们在开发的目录下,编写一个最简单的node可执行文件a.js12#!/usr/bin/env nodeconsole.log('hello Ryan'); #!/usr/bin/env node这句很重要,后面解释。 建立package.json文件 123456{ "name":"npm-link", "bin":{ "ryan":"a.js" }} 在该文件夹下执行npm link 可在任意文件夹下运行ryan 二. 问题就来了 npm link执行,发生了什么? 命令行输入ryan,怎么调用的? 第一个问题 npm link执行,发生了什么? 官方解释点这里; 12cd ../dev/node-redisnpm link 在开发的目录下执行npm link,会在npm全局的文件夹根据package.json的描述创建引用文件指向本地12cd ../dev/n ...
阅读全文 »

JSON字符串转换的三种方式

发表于 2015-04-09   |   分类于 javascript   |  
json字符串 { "prop": "val" } 是个合法的JSON,{ prop: "val" } 和 { 'prop': 'val' } 是不合法的JSON ##解析JSON的三种方式123var jsonObj = eval("("+ jsonStr+")") var jsonObj = (new Function("return " + jsonStr))();var jsonObj = JSON.parse(jsonStr) 三种方式使用差异,性能差异 方式安全效率是否有合法性要求 parse 安全 高 有 new Function 不安全 低,不稳定 无 eval 不安全 低,不稳定 无 安全性检验代码12345var value = 1;var jsonstr = '{"data1":"hello","data2":++value}';console.log(eval('('+jsonstr+')')); //此时value=2cons ...
阅读全文 »
12
ryan724

ryan724

15 日志
5 分类
github weibo zhihu email
© 2016 ryan724
由 Hexo 强力驱动
主题 - NexT.Pisces
本站总访问量 次