深入理解JavaScript系列:闭包(closures)

原文链接:http://www.cnblogs.com/TomXu/archive/2012/01/31/2330252.html

补充:基本类型和引用类型

基本数据类型

ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。

typeof:检测一个变量是不是最基本的数据类型
a = 666;
typeof a;    // number 

more >>

深入理解JavaScript系列:函数(function)

原文链接:http://www.cnblogs.com/TomXu/archive/2012/01/30/2326372.html

JavaScript中三种函数类型

区别函数声明和表达式
function foo(){} // 声明,因为它是程序的一部分
  var bar = function foo(){}; // 表达式,因为它是赋值表达式的一部分

  new function bar(){}; // 表达式,因为它是new表达式

  (function(){
    function bar(){} // 声明,因为它是函数体的一部分
  })();
(function foo(){})  //表达式,他是表达式的原因是因为括号 ()是一个分组操作符,它的内部只能包含表达式

more >>

node.js学习笔记四

node.js回调函数、事件循环、EventEmitter、Buffer(缓冲区)、Stream(流)

回调函数

补充说明:

Math.sqrt(2);//求2的平方根

node.js异步编程的直接体现就是回调。阻塞是按顺序执行的,二非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。
异步执行代码(非阻塞)

more >>

node.js学习笔记三(REPL)

REPL(交互式解释器)

  • REPL表示一个电脑的环境,类似window系统的终端或Unix/linux shell,可以在终端输出命令,并接收系统的响应。
  • REPL可以执行以下任务
    • 读取-读取用户输入,解析输入了JavaScript数据结构并储存在内存中。
    • 执行-执行输入的数据结构
    • 打印-输出结果
    • 循环-循环操作以上步骤知道用户两次按下Ctrl+c按钮退出。

      more >>

js中const,var,let申明变量的区别

文档参考:http://www.cnblogs.com/ksl666/

1.const定义的变量不可以修改,而且必须初始化。

const b = 2;    //正确
//const b;    //错误,必须初始化
console.log('函数外const定义b'+b);//有输入出值
b = 5;
console.log('函数外修改cons定义的b'+b)//无法输出

2.var定义的变量可以修改,如果不初始化会数车undefined,不会报错。

var a = 1;
// var a;//不会报错
console.log('函数外var定义a:' + a);//可以输出a=1
function change(){
a = 4;
console.log('函数内var定义a:' + a);
} 
change();//可以输出a=4
console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
//若函数不调用,输出的结果为:a=1;

3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。

let c = 3;
console.log('函数外let定义c:' + c);//输出c=3
function change(){
let c = 6;
console.log('函数内let定义c:' + c);
} 
change();//输出c=6
console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
//若函数不调用,输出结果为:c=3;

node.js学习笔记一(创建第一个应用)

什么是node.js

node.js是运行在服务器端的JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

node.js 应用的组成

  1. 引入require模块:可以使用require指令来载入node.js模块;
  2. 创建服务器:服务器可以监听客户端的请求;
  3. 接受请请求与响应请求:客户端可以使用浏览器或终端发送Http请求,服务器接受请求后返回响应数据。

more >>

node.js学习笔记二(npm使用介绍)

关于npm

npm是随同NodeJS一起安装的包管理工具,能解决nodejs代码部署的很多问题


使用场景有以下几种方式:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
  • 允许用户将自己编写的包或命令行产业内需上传到NPM服务器供人使用

more >>

ajax增删改查

$.get()方法

$.get()方法通过http get请求从服务器上请求数据。

语法:$.get(url,[,data][,success][,dataType]);除url之外,所有属性可选。

  • 网址:string; 请求的url地址

  • 数据:PlainObject或String;发送到请求的服务器的普通对象或字符串

  • 成功:function;回调函数;如果提供了dataType则必需,但可以使用null或jquery.noop作为占位符

  • 数据类型:string;从服务器语气的数据类型。默认值:智能识别(xml,json,script,text,html)

more >>

flex-弹性盒子模型

开始准备

开始之前,头部需添加以下meta:

<meta name="viewport" content="width=device-width, 
initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

flex属性介绍

定义在flex弹性容器内

.box{
    display: -webkit-flex;
    display: flex;
    flex-flow:row-reverse wrap;
    flex-direction:row-reverse;
    flex-wrap:wrap;
    align-content:center;
    align-items:center;
    justify-content:center;
}
  1. flex-flow

    复合属性,flex-direction、flex-wrap,子项元素的排列顺序、是否拆行或拆列

  2. flex-direction

    子项元素方向,默认值是row

    row:水平显示

    row-reverse:水平相反的顺序

    column:垂直显示

    column-reverse:垂直相反顺序显示

    initial:设置为默认值

    inherit:从父元素继承该属性

more >>

小彭子 <br> 记性不太好的<br>前端开发妹子一枚 <br> 博客记录前端知识学习<br>笔记和平时生活七七八八