Node.js应该是当今最火热的技术之一。本文主要介绍Node.js的特点及应用场景。Node.js是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的 易于扩展的网络应用。Node.js借助事件驱动,非阻塞I/O模型变得轻量和高效,非常适合 运行在分布式设备的数据密集型实时应用。1. 特点1.1 异步I/O所谓的异步I/O,是相对同步I/O而言的。程序执行过程中必然要进行很多I/O操作,如读写文件、输入输出、请求响应等等。通常来说...
闭包真的是学过一遍又一遍,Js博大精深,每次学习都感觉有新的收获。相信在大家封装前端插件时,闭包是必不可少的。闭包的真正好处我个人认为除了封装还是封装,能带个我们私有方法,和调用上的灵活方便,也会使你的代码对外的对象保持干净整洁。进入正题维基百科这样定义了JS闭包:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的...
废话不多说了,直接给大家贴代码了,具体代码如下所述:var aLi = document.querySelectorAll(.article-tab li);for (var i = 0; i <= aLi.length; i++) { (function(){ var p = i aLi[i].onclick = function() { alert(p); }})(); }以上所述是小编给大家介绍的JS 循环li添加点击事件 (闭包的应用),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的。更多JS 循环li添加点击事件 (闭包的应用)相...
Node.js 模块创建模块 定义模块:module.exports = {} 使用模块:require(模块名)require寻找模块:文件模块缓存区–> 原生模块 –> 文件加载 –> 缓存文件模块案例: hello.js—定义模块[code]function Hello () {var name;this.setName = function (aName) {name = aName;};this.getName = function () {console.log(Hi, + name);} } module.exports = Hello;getHello.js—引入模块[code]var Hello = require(./hello.js); var ...
业务需求最近公司要求开发web版的app,由于app是偏向内容方面,而且带了一个聊天模块,所以一般的多页开发不是很适合,而且主要是手机浏览,对加载速度或者用户体验来说都比较苛刻。调研了很多框架和模式,最后自己东拼西凑搞出来了这么一个玩意。服务端毫无疑问使用node,使用typescript可以有效的在编码同时查错,强类型语言写服务端毫无压力。#app.ts 只贴重要代码var webpack = require(webpack) var webpackDevMiddleware = re...
前言一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实现,虽然不清楚浏览器的js引擎是如何在C++层面实现这两个方法,但是可以肯定的是reduce方法肯定也存在数组的遍历,在具体实现细节上是否针对数组项的操作和存储做了什么优化,则不得而知。数组的reduce方法的应用reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作;第二个参数则是传入的初始值,这个初始值用于单个数组项的操作...
001 jquery取radio单选按钮的值 002 003 $("input[name=items]:checked").val(); 004 另:判断radio是否选中并取得选中的值 005 006 如下所示: 007 function checkradio(){ 008 var item = $(":radio:checked"); 009 var len=item.length; 010 if(len>0){ 011 alert("yes--选中的值为:"+$(":radio:checked").val()); 012 } 013 } 014 015 01...
weUI应用,自己用JS封装了几个常用的信息提示的弹层测试页面的代码在后面有贴出几个弹层如下图HTML页面代码:<!DOCTYPE html> <html> <head> <title>weUI-test</title> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <meta http-equiv="pragma" con...
主要思路 通过改变url的hash值,跳到相应模块。先把默认模块显示出来,其他模块隐藏,分别给三个模块定义三个hash值,点击默认模块的选项的时候,改变hash值,同时在window上监听hashchange事件,并作相应模块跳转逻辑处理。这样即可模拟浏览器的前进后退,而且用户体验也比较好。下面详细来看看,现在有一个场景,选择顺序是:车牌子->车型->车系。首先HTML部分。默认显示车牌子选择列表,其他两个模块隐藏。<div class="wrap"...
JavaScript与.NET应用程序交互_实验1 C#调用JavaScript函数 通过JavaScript与.NET整合,可以增强.NET应用程序的灵活性。下面几个给出几个示例,方便大家学习交流。目前JavaScript的引擎很多,有谷歌的Google Chrome V8、Noesis.Javascript、Jurassic.ScriptEngine等等。结果测试,还是Jurassic.ScriptEngine比较方便些。下面以Jurassic.ScriptEngine为例,进行几个小例子介绍。 示例1,在C#里调用...
一、什么是事件冒泡在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。 打个比方说:你在地方法院要上诉一件案子,如果地方没有处理...
去掉字符串头尾多余的空格/g是全文查找所有匹配function String.prototype.Trim(){return this.replace(/(^\s*)|(\s*$)/g, "");}function String.prototype.LTrim(){return this.replace(/(^\s*)/g, "");}function String.prototype.RTrim(){return this.replace(/(\s*$)/g, "");}--------------------------------------------------------------应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype....
在现在正在开发的项目中,为了实现前后端分离开发,决定使用刚刚发布不久的 vue.js 2.0 和 koa 2.0 来进行开发,深入的使用了webpack作为前端打包工具。为了更好的掌握,打算通过练习来加强对webpack的理解。接下来还会针对开发中相关的技术,做深入的练习,并且写一系列文章。 本文主要目的是对项目开发和自己练习中对webpack的使用,做一个总结。介绍开发vue.js单页面前端应用时,如何使用webpack来打包。本文同时也是之前rea...
一道笔试题之前偶然看到一个公司的笔试题,题目如下:用HTML5、CSS3、JavaScript,做一个网页,实现如下图形式计算器具体要求:1.有且只有一个文件:index.html。不允许再有其他文件,不允许再有单独的CSS、JS、PNG、JPG文件。2.运行环境为 Google Chrome。3.必须支持标准的四则运算。例如:1+2*3=7。4.请在收到邮件的48小时内独立完成本测试,并回复本邮件。一道笔试题引发的一个练手项目花了一点时间写好的第一版,符合了笔试题的...
维基百科这样定义了JS闭包:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。通俗的讲,闭包不同于一...