回调函数

ES6语法详解

十年热恋 提交于 2020-01-06 19:51:11
1. ES6发展历史以及介绍   略..... 不废话 2. ES6新特性:let和const关键字    在之前的JavaScript中,变量的定义我们一般都是使用“var”关键字做为定义的,“var”关键字定义的变量存在一个缺点,那就是作用域不明显,有时候明明在私有方法中定义的,却成为了全局变量。从而影响到我们其他的数据操作。所以在ES6中为了解决这个弊端,而引入了“let”和“const”这两个关键字。   “let”关键字:用作定义私有数据,该变量只在定义的代码块中生效使用,其他地方不会生效被使用的。   “const”关键字:定义JavaScript中常量,一旦被这个关键字所修饰,其值是无法被修改的。类似于Java中的“final”关键字。 3. ES6新特性:字符串的扩展   在ES6中为JavaScript原有的字符串操作,提供了三个新的API:     .includes()方法: 判断是否包含指定字符串,返回值为true、false     .startwith()方法: 判断该字符串是否以xxx开头,返回值为true、false     .endwith()方法: 判断该字符串是否以xxx结束,返回值为true、false 4. ES6新特性:解构表达式   在原来的JavaScript中,我们从一个数组或者对象中获取其中的值

ES6语法详解

一笑奈何 提交于 2020-01-06 01:46:05
1. ES6发展历史以及介绍   略..... 不废话 2. ES6新特性:let和const关键字    在之前的JavaScript中,变量的定义我们一般都是使用“var”关键字做为定义的,“var”关键字定义的变量存在一个缺点,那就是作用域不明显,有时候明明在私有方法中定义的,却成为了全局变量。从而影响到我们其他的数据操作。所以在ES6中为了解决这个弊端,而引入了“let”和“const”这两个关键字。   “let”关键字:用作定义私有数据,该变量只在定义的代码块中生效使用,其他地方不会生效被使用的。   “const”关键字:定义JavaScript中常量,一旦被这个关键字所修饰,其值是无法被修改的。类似于Java中的“final”关键字。 3. ES6新特性:字符串的扩展   在ES6中为JavaScript原有的字符串操作,提供了三个新的API:     .includes()方法: 判断是否包含指定字符串,返回值为true、false     .startwith()方法: 判断该字符串是否以xxx开头,返回值为true、false     .endwith()方法: 判断该字符串是否以xxx结束,返回值为true、false 4. ES6新特性:解构表达式   在原来的JavaScript中,我们从一个数组或者对象中获取其中的值

Duilib学习笔记《01》— duilib整体框架认识

泄露秘密 提交于 2020-01-05 16:13:45
从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。 通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习: 库的组成;框架基本流程;元素创建机制;消息处理机制。 1. 库的基本组成 1.1 工具库 由于duilib没有对外部的任何库进行依赖,所以在其内部实现了很多用于支撑项目的基础类(如下图所示)。这些类分布在Util文件夹中: UI相关:CPoint / CSize / CDuiRect 简单容器:CStdPtrArray / CStdValArray / CStdString / CStdStringPtrMap 上面这些类看名字就基本能够理解其具体的含义了,当然除了基本的基础库,还有一些和窗口使用相关的工具的封装,如窗口工具:WindowImplBase,这个工具我们在这里不详述,后面使用中会经常用到。 1.2 控件库 控件库在duilib的实现中被分为了两块:Core和Control: Core中包含的是所有控件公用的部分,里面主要是一些基类和绘制的封装。 Control中包含的就是各个不同的控件的行为了。 这当中尤其要注意控件基类CControlUI和容器基类CContainerUI,这是duilib核心类(如下图所示

Node.js:回调函数

大兔子大兔子 提交于 2020-01-05 02:06:49
概要 : 本篇博客主要通过对比node.js异步与同步方式读取文件的方式来解释node中回调函数的作用。 1.异步方式读取文件 : 新建一个文本文档用于测试,如下图: 代码如下: // node异步方式读取文件 var fs = require('fs'); fs.readFile('input.txt','utf-8',function(err,data){ if (err) { console.error(err); } else { console.log(data); } }); console.log('end'); 执行结果如下: 2.node也提供了同步读取文件的API -- readFileSync(path, options): 用上述文本文档测试,代码如下: // node同步方式读取文件 var fs = require('fs'); var data = fs.readFileSync('input.txt', 'utf-8'); console.log(data); console.log('end.'); 执行结果如下:    对比发现,运行结果不同。      同步式读取文件的方式比较容易理解,将文件名作为参数传入fs.readFileSync 函数,阻塞等待读取完成后,将文件的内容作为函数的返回值赋给data变量,接下来控制台输出data的值

Node.js读取文件内容

点点圈 提交于 2020-01-05 02:05:33
原文链接: http://blog.csdn.net/zk437092645/article/details/9231787 Node.js 读取文件内容包括同步和异步两种方式。 1、同步读取,调用的是readFileSync var rf=require("fs"); var data=rf.readFileSync("test","utf-8"); console.log(data); console.log("READ FILE SYNC END"); 输出结果,先内容,后end 2、异步读取,调用readFile var rf=require("fs"); rf.readFile("test",'utf-8',function(err,data){ if(err){ console.log("error"); }else{ console.log(data); } }); console.log("READ FILE ASYNC END"); 输入结果先end,后内容 同步式读取文件的方式比较容易理解,将文件名作为参数传入 fs.readFileSync 函数,阻塞等待读取完成后,将文件的内容作为函数的返回值赋给 data 变量,接下来控制台输出 data 的值,最后输出 end。 异步式读取文件就稍微有些违反直觉了,end先被输出。要想理解结果,我们必须先知道在 Node

浅谈js运行机制(线程)

扶醉桌前 提交于 2020-01-05 00:29:37
浅谈js运行机制(线程) 1.前言 从开始接触js时,我们便知道js是单线程的。单线程,异步,同步,互调,阻塞等。在实际写js的时候,我们都会用到ajax,不管是原生的实现,还是借助jQuery等工具库实现,我们都知道,ajax可以实现局部刷新,并且在请求处理时,任然可以响应用户的操作,比如点击事件。不是说js是单线程吗?这些都是怎么实现的? 在阅读《深入理解Bootrap的源码》一书,在分析轮播组件(carousel.js)的源码时,作者对一句代码操作的注释引起了我的兴趣。 setTimeout(function(){ that.$element.trigger('slid'); },0);//触发slid事件,这里使用setTimeout是为了确保UI刷新线程不被阻塞。 1 2 3 4 后面我会一一解答这些疑惑。 2.浏览器线程 js运作在浏览器中,是单线程的,即js代码始终在一个线程上执行,这个线程称为js引擎线程。 浏览器是多线程的,除了js引擎线程,它还有: UI渲染线程 浏览器事件触发线程 http请求线程 EventLoop轮询的处理线程 …….. 这些线程的作用: UI线程用于渲染页面 js线程用于执行js任务 浏览器事件触发线程用于控制交互,响应用户 http线程用于处理请求,ajax是委托给浏览器新开一个http线程 EventLoop处理线程用于轮询消息队列

浅谈js运行机制(线程)

与世无争的帅哥 提交于 2020-01-05 00:21:43
浅谈js运行机制(线程) 1.前言 从开始接触js时,我们便知道js是单线程的。单线程,异步,同步,互调,阻塞等。在实际写js的时候,我们都会用到ajax,不管是原生的实现,还是借助jQuery等工具库实现,我们都知道,ajax可以实现局部刷新,并且在请求处理时,任然可以响应用户的操作,比如点击事件。不是说js是单线程吗?这些都是怎么实现的? 在阅读《深入理解Bootrap的源码》一书,在分析轮播组件(carousel.js)的源码时,作者对一句代码操作的注释引起了我的兴趣。 setTimeout(function(){ that.$element.trigger('slid'); },0);//触发slid事件,这里使用setTimeout是为了确保UI刷新线程不被阻塞。 1 2 3 4 后面我会一一解答这些疑惑。 2.浏览器线程 js运作在浏览器中,是单线程的,即js代码始终在一个线程上执行,这个线程称为js引擎线程。 浏览器是多线程的,除了js引擎线程,它还有: UI渲染线程 浏览器事件触发线程 http请求线程 EventLoop轮询的处理线程 …….. 这些线程的作用: UI线程用于渲染页面 js线程用于执行js任务 浏览器事件触发线程用于控制交互,响应用户 http线程用于处理请求,ajax是委托给浏览器新开一个http线程 EventLoop处理线程用于轮询消息队列

Datatables中文API——回调函数

≯℡__Kan透↙ 提交于 2020-01-04 22:46:33
fnCookieCallback:还没有使用过 $(document).ready(function () { $('#example').dataTable({ "fnCookieCallback": function (sName, oData, sExpires, sPath) { // Customise oData or sName or whatever else here return sName + "=" + JSON.stringify(oData) + "; expires=" + sExpires + "; path=" + sPath; } }); }); fnCreatedRow:顾名思义,创建行得时候的回调函数 $(document).ready(function () { $('#example').dataTable({ "fnCreatedRow": function (nRow, aData, iDataIndex) { // 为a的话字体加粗 if (aData[4] == "A") { $('td:eq(4)', nRow).html('<b>A</b>'); } } }); }); fnDrawCallback:draw画 ,这个应该是重绘的回调函数 $(document).ready(function () { $('#example'

Vue--axios

两盒软妹~` 提交于 2020-01-04 21:05:41
前戏 如果你是使用vscode软件进行开发前端项目,进行ajax调试的时候,建议安装liveServer插件。这样我们打开一个文件的时候,会以服务的方式打开。 vue中常用的ajax库有两个,一个是vue-resource,这个是在vue1.x中广泛使用的插件。还有一个是axios,在vue2.x中,官方强烈推荐的第三方ajax请求库。 vue-resource 参考文档:https://github.com/pagekit/vue-resource/blob/develop/docs/http.md 在Vue的生命周期中,我们知道created()是最早可以获取到data数据的,所以我们一般都是在created()里写ajax请求 因为vue-resource是第三方库,所以我们需要先进行安装,才能使用 npm install vue-resource 创建一个json文件,假设我的叫name.json [ {"name":"张三","age":18}, {"name":"李四","age":66} ] 有json文件了,我们使用vue-resource请求数据 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device

事件

你离开我真会死。 提交于 2020-01-04 07:34:16
页面跳转 小程序页面间跳转 wx.navigateTo(Object object) 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。 属性 类型 必填 说明 url string 是 需要跳转的应用内非 tabBar 的页面的路径, 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2' success function 否 接口调用成功的回调函数 fail function 否 接口调用失败的回调函数 complete function 否 接口调用结束的回调函数(调用成功、失败都会执行) wx.navigateTo({ url: 'test?id=1' }) // test/test.js Page({ onLoad(option) { console.log(option.query) } }) wx.switchTab(Object object) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 属性 类型 必填 说明 url string 是 需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数。