JavaScript学习

书籍

AngularJS权威教程》、《锋利的Jquery(第二版)》、《精通AngularJS》、《JavaScript核心技术》

ES5

1. javascipt的数组与字典
数组打乱顺序

list = [1,2,3,4];
list = list.sort(function() {
    return Math.random()-0.5
});

2. js的跨域问题及解决方案,   CORS解决方案

3. undefined,null,Nan深入理解

4. this深入理解   , call、apply、bind深入理解

5. 字符串的相关操作

5.1 去除字符串两侧的空格

String.prototype.Trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function() {
    return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function() {
    return this.replace(/(\s*$)/g, "");
}

5.2 常用正则

邮箱:

var regm = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
//验证Mail的正则表达式,^[a-zA-Z0-9_-]:开头必须为字母,下划线,数字,
if (!email.match(regm)) {
    alert("邮箱地址格式错误或含有非法字符!\n请检查!");
    return false;
}

空字符串:

/^\s*$/

浮点数:

/^[0-9]+.?[0-9]*$/

(3)在javascript中,将数组转换为json的字符串形式。

JSON.stringify(js数组)

6. 时间操作
Javascript Date对象与函数

获取当前毫秒时间戳:

var date = new Date();
date.getTime();

7. 加密

7.1 多种加密插件

9.window对象

9.1  window.location.reload();

10. 前端模块化开发

10.1 Require.js入门

11. input 框中只能输入特定字符

eg. 只能输入数字

<input onkeyup="value=value.replace(/[^/d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" ID="Text2" NAME="Text2">  

12 . 闭包  javascript深入理解js闭包

13. prototype 与继承
js的Prototype属性 | js核心技术

阮一峰的四篇相关文章:

Javascript 面向对象编程(一):封装

Javascript面向对象编程(二):构造函数的继承

Javascript面向对象编程(三):非构造函数的继承

Javascript继承机制的设计思想

14 .阴历阳历互相转换

15.. md5加密函数, 代码下载

16. 在已加载的页面中注入js。 在地址栏输入以下代码:javascript: void (( function () { … code to run … })());

ES6

ES6 的第一个版本,在2015年6月发布,正式名称就是《ECMAScript 2015标准》(简称 ES2015)。2016年6月,小幅修订的《ECMAScript 2016标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符),基本上是同一个标准。根据计划,2017年6月发布 ES2017 标准。因此,ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015 则是正式名称,特指该年发布的正式版本的语言标准。

学习文档: ECMAScript 6 入门

Jquery

1. ajaxForm插件
JQuery-Form中的AjaxForm和AjaxSubmit的区别

2. 七个免费的Jquery图片翻转插件

3. jquery启用与禁用控件。
禁用:$(选择器).attr(“disabled”,”disabled”);
启用:$(选择器).removeAttr(“disabled”);

4. jquery操作table

5. 富文本编辑器
KindEditor、 Xhediter、UEditor

6. gulp
gulp的安装以及使用

7. Ajax请求

    $.ajax( { 
        url: url,// 跳转到 action 
        data:data, 
        type:'get', 
        cache:false, 
        dataType:'html', 
        success:function(data) { 
        }, 
        error : function() { 
            alert("异常!"); 
        } 
    });

8. h5实现的仿支付宝密码输入界面源码

9. jQuery时间轴

10. 无限加载插件InfiniteScroll, 说明源码/文档, 以及百度CDN服务

BOOTSTRAP

1. 官网有文档、下载和相关实例 | w3c school
2. table控件
3. 日期时间设置控件(要着重了解其参数startView, minView, maxView的含义)(注: 下载包的js似乎有问题, 从示例网页中截取出来的js可用)。
4. 图表插件
5. 开关按钮1 | 开关按钮2
6. iCheck(radio/checkbox)

 

AngularJs

已有Angular, 此块技术不再关注

Angular

随着AngularJs2的推出, 1终将成为历史。 只能说前端技术始终处于快速变革中。 未来是什么样, 目前还看不到。

官方中文网

后台管理系统模板,  后台管理系统模板2

Angular的bootstrap组件

Zepto.js

Zepto.js 拥有和jQuery相似的语法。和jQuery相比下来, 他有很多优点, 大小方面 , 
压缩后的 zepto.min.js 大小只有21K, 非常的小, 但是功能很齐全, 多出来了一些触摸屏的事件 , 
用它来开发iPhone和Android手机网页是个不错的选择。

常用函数:

  • $(selector,context?) 传入一个选择器返回一个zepto对象
  • $(function(){}) 传入一个函数,dom ready时执行
  • $(html,attrs?) 传入一个html字符串,构建元素,返回一个或zepto对象
  • $(dom obj)传入dom对象返回zepto对象

 

ExtJs

不够灵活, 笨重, 没有特殊情况,不再关注

  1.  12种页面布局

 

React

菜鸟教程

React Native

React Native 官方文档中文版

 

Vue