Simple is Happiness
Less is more
JavaScript
JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
by ourjs keys JS学习 JavaScript 1535284489834
最近发现一个JS运算的一个问题,某些小数运算会出现类似无限循环的小数

var fee = 19.99
var all = fee * 100
console.log(all)
> 1998.9999999999998

用JavaScript实现node.js中的path.join方法
by ourjs keys JS学习 JavaScript 1534004685034
Node.JS中的 path.join 非常方便,能直接按相对或绝对合并路径,使用: path.join([path1], [path2], [...]),有时侯前端也需要这种方法,如何实现呢?
其实直接从 node.js 的 path.js 拿到源码加工一下就可以了: 
1. 将 const 等 es6 属性改为 var,以便前端浏览器兼容
2. 添加一个判断路戏分隔符的变量 sep,即左斜杠还是右斜杠,以第一个路戏分隔符为准
3. 将引用的变量和函数放到一个文件里就可以了:
JavaScript中新建一个带全局变量参数的new Function动态函数
by ourjs keys JS学习 JavaScript 1533813494904
有些场景会动态传递一些计算公式到后端,后端计算出结果,计算公式可能会使用到一些变量。如用户输入的公式:  a + b,需要计算 a + b 的值。有一种方法,在公式中使用 this 参数,然后传入model实现,如:

myFunc = Function( 'return this.a + this.b' )
设置select元素中option的默认值
by ourjs keys JS学习 JavaScript 1531970261376
可以在option上添加selected属性来设置select元素默认选中的值:

<select id="auth_access" class="form-control ">
  <option value="none">禁止</option>
  <option value="read">只读</option>
  <option value="write" selected>写入</option>
</select>
JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
by ourjs keys JS学习 JavaScript 1530252920818
通过isNaN判断是否为 NaN

isNaN(Number('vip1'))  //true
isNaN(Number('1.1')) //false
用JavaScript将input/textarea中的文本复制粘贴到剪切板
by ourjs keys JS学习 JavaScript 1529981667955
浏览器对剪切板有一定的安全限制,与 window.open 方法类似,只有在用户交互过程中才允许操作,比如说鼠标点击,键盘输入等。
要想将文本复制到剪切板首先要将该文本框全选,如:

document.querySelector('#input').select();
JS动态滑动切换到页面指定位置
by ourjs keys JS学习 JavaScript 1527906178548
将页面动态划到指定的位置。

浏览器:IE11以上

window.scroll({
  top: 2500, 
  left: 0, 
  behavior: 'smooth' 
});
// Scroll certain amounts from current position 
window.scrollBy({ 
  top: 100, // could be negative value
  left: 0, 
  behavior: 'smooth' 
});
如何通过网页、客户端、手机APP、路由器查找OnceAir NAS网盘的内网访问地址
OnceAir是一款可在局域内使用的超小型NAS网盘。功耗在0.6~5W之间,相比x86服务器每年可节省数百元电费。连上路由器,即可搭建私有云笔记和网盘系统,下面这篇文章将介绍如何查找 OnceAir 的访问地址。
JavaScript用new Image实现内网服务器端口扫描
by ourjs keys JS学习 JavaScript 1521533116395
有这样一个场景,要扫描内网的某个服务,只能通过前端来实现。已知服务器的端口号,不知道内网的IP网段。

首先ajax是不能用的,因为网页与目标服务器地址不一致,跨域了。

其次jsonp也不好用,因为现在浏览已经开始限制手动用脚本发jsonp获取获服务器信息了。

最后只能用 Image 来解决了。
用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
by ourjs keys JS学习 JavaScript 1517748155552
普通的SELECT控件只能选择,不能编辑,这里可以用JS代码来实现这个功能。基本原理是在select控件上面添加一个input盖住,当select改变时自动更新input的值。

<div class="select-editor">
  <select>
    <option value="OPTION 1">OPTION 1</option>
    <option value="OPTION 2">OPTION 2</option>
    <option value="OPTION 3">OPTION 3</option>
    <option value="OPTION 4">OPTION 4</option>
  </select>
  <input type="text" name="host" value="" />
</div>

 近期热门 - 点击最多
  1. Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
  2. JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty
  3. CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
  4. CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全
  5. node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
  6. JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
  7. webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
  8. node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket
  9. request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载
  10. 用node.js在Windows或Linux平台上高性能解压/压缩zip、tar大文件,输出到文件或Stream流

  全端社区 - 最新回复
  1. Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
  2. JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty
  3. CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
  4. CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全
  5. node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
  6. JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
  7. 小程序未来肯定会朝着这些方面发展,企业必须做好!
  8. Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动
  9. 小程序跳转功能,带来的多个改变!
  10. WeMall用Node.js语言开发的单用户商城(微信端)商城源码

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA